我在子目录
中有以下htaccess代码Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([0-9]+).html$ order-details.php?id=$1 [NC,L]
工作正常。问题是该目录中的每个其他页面都会出现错误404。
链接example.com/sub/sub/123456.html正常运行。此外,example.com/sub/sub/工作正常,因为我在子目录中有一个索引文件。但是,example.com/sub/sub/anotherpage.html给出错误404.删除htaccess解决了一个问题并带来了另一个问题。
example.com/sub/sub /
答案 0 :(得分:1)
您可以添加
RewriteCond %{REQUEST_FILENAME} !-f
要使用您的代码,请务必忽略文件夹中存在的文件。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+).html$ order-details.php?id=$1 [NC,L]
答案 1 :(得分:0)
您尝试访问包含字母数字名称的页面。 但是,在你的htaccess上它只适用于数字版本。
RewriteRule ^([0-9]+).html$ order-details.php?id=$1 [NC,L]
仅访问由[0-9]
如果要重定向 alpha 数字,则必须使用其他蒙版。也许[0-9A-Za-z]
?
答案 2 :(得分:0)
立即行动。看起来我必须删除sub/sub/
中htaccess中的.php扩展名。