我的htaccess文件中有以下内容:
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.html -f
RewriteRule .* cached/%{REQUEST_URI}\.html [L]
我有一个网址blah.com/a /
我有一个文件缓存/ a.html
我如何告诉我的htaccess忽略尾部斜线以查找并显示a.html而不是/ .html
注意:从URL中删除斜杠不是一个选项,因为已经设置了URL模式。
答案 0 :(得分:2)
这是因为%{REQUEST_URI}正在向目标添加尾部斜杠,该斜杠映射到无效的uri /file/.html,为了解决此问题,您需要使用backrefrence。
RewriteCond %{DOCUMENT_ROOT}/cached/$1.html -f
RewriteRule ^(.*?)/?$ /cached/$1.html [L]