重写长URL以使用尾部斜杠

时间:2014-09-06 00:00:45

标签: regex apache .htaccess mod-rewrite url-redirection

我已经有了这段代码来重写服务器上1层深的目录。如果没有提供,则会附加一个尾部斜杠/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]

这是有效的,但是如果URL是多个目录深,我该如何强制使用尾部斜杠....

http://example.org/words/more-words/1234/this-is-an-article

如何使所有网址(可变长度)附加一个尾随/

1 个答案:

答案 0 :(得分:1)

您可以将此规则替换为:

## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE]