【发布时间】:2020-09-16 22:43:25
【问题描述】:
我尝试使用 .htaccess 文件重写我的一些 URL,但它没有按预期工作。
这是我的.htaccess 文件中的重写规则:
RewriteRule ^(index|administration)/([A-Za-z0-9-]+)(\.php)?$ index.php?c=$1&t=$2 [QSA]
当我继续 www.example.com/index/main 时,我收到 404 错误代码。
所以我尝试将我的重写规则更改为
RewriteRule ^index.php$ index.php?c=index&t=main [QSA]
然后我转到www.example.com/index.php,网页完美显示$_GET中的所有数据(c = index and t = main)。
所以我不知道为什么我的第一条规则不起作用。让我看看你有没有什么想法。
我的服务器是否有可能想要进入 index 文件夹,然后是我的第一条规则的主文件夹,而不考虑我的 .htaccess (www.example.com/index/main)?
【问题讨论】:
-
什么会产生 404? Apache 还是你的脚本? “我的服务器是否可能要进入索引文件夹” -
index是物理目录吗?您的.htaccess文件中还有其他指令吗?确保您已禁用 MultiViews。 IE。Options -MultiViews -
您好,非常感谢您的回答,通过在我的 .htaccess 文件中禁用 MultiViews 选项可以完美地工作。您能否发表评论,以便我验证您的答案?
-
我已将其添加为答案,并包含有关 MultiViews 的更多说明。
标签: .htaccess mod-rewrite