我正在尝试解决这个问题两个多小时。我有一个使用 .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
前五个工作正常。管理员/一个工作正常。但是当我尝试访问admin/news/时,我得到一个空白页。Apache 没有显示或记录错误,也没有输出。admin.php?action=news工作正常。
sklad /和admin/文件夹都实际存在于服务器上。但是当我将 admin/ 文件夹重命名为其他名称或将最后一个 RewriteRule 更改为类似
RewriteRule ^admin123/news/?$ admin.php?action=news
我可以访问admin123/news/。如果它与服务器上存在的实际文件夹有关,那么为什么前五个规则有效?这没有意义。
我没有想法,希望这里有人帮助......