在重写htaccess时强制尾随斜杠

时间:2012-12-03 19:10:23

标签: php apache .htaccess

我的htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(.*)$ /sentence-examples/examplesentence.php?havethis=$1&word=$2 [L]

结果网址为/ sentence-examples / acco-acti / accolading /

如果我删除最后一个斜杠/句子 - examples / acco-acti / accolading仍然可以正常工作

如果我删除第三个斜杠/句子例子/ acco-acti< - 404's

有没有办法强制斜杠,即使用户在没有斜杠的情况下键入url它会将其更改为斜杠?

1 个答案:

答案 0 :(得分:0)

尾部斜杠的问题是他们可以修改查询。例如:

 http://mysite.com/index.php?par=this_query
 // is differente from
 http://mysite.com/index.php?par=this_query/

在最后一种情况下,$ _GET值有一个尾部斜杠,通常会导致错误。

所以是的,有很多方法可以在.htacces文件中强制使用尾部斜杠,但这不是一个好主意。在某些情况下,已经很难弄清楚如何删除它们,为什么要创造更多。