强制在RewriteRule中添加slach到最后

时间:2016-01-21 11:29:00

标签: .htaccess mod-rewrite s3-rewrite-rules

我正在使用.htaccess下的mod_rewrite,我正在尝试在网址的末尾添加一个slach“/”: 解释此网址:http://domain/ABC/DEF,例如http://domain/ABC/DEF/

我该怎么写这条规则?

1 个答案:

答案 0 :(得分:1)

要在Request_uri的末尾添加尾部斜杠,您可以在htaccess中使用以下规则:

RewriteEngine On
#If there is already a trailing slash, skip the rule.
RewriteCond %{REQUEST_URI} !/$ 
#else redirect any request to add a trailing slash
RewriteRule ^(.+)$ /$1/ [L,R]

这会自动添加一个尾部斜杠并更改网址

RewriteCond在这里很重要,以避免重定向循环错误,没有这个条件,/ foo的请求在初始迭代时重定向到/ foo /,在第二次迭代时,目标url / foo /匹配重写模式并重定向/ foo / to / foo /并导致循环错误。

(希望,这有帮助!)