gpt4 book ai didi

.htaccess RewriteRule 返回空白页

转载 作者:行者123 更新时间:2023-12-01 04:01:31 27 4
gpt4 key购买 nike

我现在试图解决这个问题超过两个小时。
我有一个使用 .htaccess 来管理网址的个人网站。
它看起来像这样:

RewriteEngine on
RewriteBase /
...
RewriteRule ^sklad/?$ index.php?action=sklad
RewriteRule ^sklad/user/([0-9]+)?$ index.php?action=sklad&user=$1
RewriteRule ^sklad/folder/(.+)?$ index.php?action=sklad&folder=$1
RewriteRule ^sklad/file/(.+)?$ engine/ajax/sklad.php?file=$1
RewriteRule ^sklad/logout/?$ index.php?action=sklad&op=logout
...
RewriteRule ^admin/?$ admin.php
RewriteRule ^admin/news/?$ admin.php?action=news

前五个工作正常。 管理员/一个工作正常。但是当我尝试访问 时管理员/新闻/ ,我得到一个空白页。 Apache 没有显示或记录错误,也没有输出。 admin.php?action=news 工作正常。

两者 sklad/管理员/文件夹实际存在于服务器上。 但是 当我将 admin/文件夹重命名为其他名称时 将最后一个 RewriteRule 更改为类似
RewriteRule ^admin123/news/?$ admin.php?action=news

我可以访问 admin123/新闻/ .如果它与服务器上存在的实际文件夹有关,那么为什么前五个规则有效?这没有意义。

我没有想法,希望这里有人帮助...

最佳答案

Yes, it's called news.php... I renamed the file and exerything is fine now, thanks! Didn't know about this, pretty unobvious bug (or not?)



这不是错误,听起来内容协商(通过 mod_negotiation)已打开,并且正在执行您不想要的操作。协商可以通过类型映射或 打开。多 View 选项。类型映射的设置有点明确,所以我假设由于您不知道为什么会发生这种情况,因此您还没有设置映射到 news.php 的特定类型。 .所以你可能有 多 View 打开。您可以通过从 Options 中删除它来关闭它。陈述:
#  remove this word -----------v
Options Indexes FollowSymLinks Multiviews

这可以在任何地方,在您的 htaccess、服务器配置、vhost 配置、某些配置包含文件等中。因此您也可以在您的 htaccess 文件中明确取消设置(只要您没有在同一文件中明确设置它) :
Options -Multiviews

关于.htaccess RewriteRule 返回空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com