我按照desiquintans教程如何清理网址。在我的案例中www.mySite.com/detail.php?id=324除了它影响其他页面外它效果很好。
这就是我的.htaccess文件的样子:
RewriteBase /
RewriteEngine on
Options All -Indexes
DirectoryIndex index.php index.html index.htm
RewriteRule ^([0-9]+)$ detail.php?id=$1
RewriteRule ^([0-9]+)/$ detail.php?id=$1
最后一行让Chrome警告我某些路径不同的网页上的重定向周期。它不应该只影响'detail.php?id ='扩展名?
的网页答案 0 :(得分:5)
我怀疑你的问题是因为你的选择,试一试。
Options +FollowSymLinks -MultiViews -Indexes
DirectoryIndex index.php index.html index.htm
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ /detail.php?id=$1 [L]
我也将你的规则削减为一个/?
使得最后一个斜线可选,因此它应该适用于两者。
这两个条件可以防止您重定向现有的文件和文件夹。
请注意,您的规则应仅影响以带有和不带结尾斜线的数字开头和结尾的URI,例如:
http://domain.com/1234/
http://domain.com/1234
http://domain.com/200
http://domain.com/420/
它不会影响任何其他网址。