.htaccess如果url没有以扩展名结尾,则在末尾添加斜杠

时间:2013-09-10 08:29:53

标签: regex .htaccess

我刚刚开始学习正则表达式,我只是想不出来。如果URL不包含扩展名,我需要在URL的末尾强制使用斜杠。

所以更清楚:

example.com/test/ stays the same.
example.com/test.php stays the same.
example.com/test becomes example.com/test/     (See the last slash at the end)

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

把它放在.htaccess:

Options +FollowSymlinks
RewriteEngine on

RewriteBase /
RewriteRule ^/test$  /test/ [L]

答案 1 :(得分:0)

奇怪的是,我偶然找到了一个解决方案:

RewriteCond %{REQUEST_URI} /+[^\.]+$ 
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

起初它在每一行的末尾添加了一个斜杠,甚至以.php结尾但现在它的工作原理很奇怪。