我有以下htaccess规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]
这样做是在我的所有网址上插入一个斜杠字符,即:
http://localhost/advertising
变为http://localhost/advertising/
现在我有一些网址,例如:http://localhost/contact.html
但我的htaccess规则也是对这些网址应用斜杠 - 因此上述网址变为http://localhost/contact.html/
现在我添加了以下条件来防止这种情况发生:
RewriteCond %{REQUEST_URI} !\.(html|php)$
但我希望比这更聪明一点 - 我想要一个与用户输入的任何扩展名相匹配的表达式。我怎样才能实现这个目标?
答案 0 :(得分:1)
这将重写所有目录而不会斜杠!
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)(\..{3,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]