2014-09-06 54 views
1

我有这段代码来重写服务器上1级的目录。如果没有提供,则附加斜杠/将长URL重写为斜线

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

这是工作,但我怎么逼结尾的斜杠如果URL是几个目录深....

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

我怎样才能使所有的URL(可变长度)追加尾随/

+1

你现在有什么看起来像它的工作。你看到什么样的错误输出? – CAustin 2014-09-06 00:14:12

+0

@CAustin当我使用上面的示例链接格式时,它将在页面结尾加载或不加斜杠 - 我希望它用斜杠重定向到页面,如果用户尝试访问它而没有一个 – Crizly 2014-09-06 00:18:53

回答

1

你可以用这个替换您的规则:

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