由于如果缺少斜杠,我的Web项目有时会抛出404,所以我一直希望服务器将斜杠添加到URL。因此,我在.htaccess中使用了以下模式:
# ################################## #
# Redirect URLs which are not files to their trailing slash equivalent #
# ################################## #
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
看起来不错,但后来我意识到链接就像
正在转换为
这显然是不可取的,这会使网站中断。我该如何重写此规则,以确保不包含对文件的任何请求(.php,.jpg,.html等)?
您可以尝试以下规则(假设您的非文件请求中没有点):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)([^./])$ %{REQUEST_URI}/ [L,R=301,NE]
确保在新的浏览器中对此进行测试,以避免旧的缓存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句