我的网站有一些以斜杠(/)结尾的链接。以下是我网站的一些示例链接。
以下是.htaccess文件,
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond "%{DOCUMENT_ROOT}/static/%{REQUEST_URI}.html" -f
RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/static/$1.html" [L]
</IfModule>
在.htaccess文件中,我正在检查静态目录中是否有一个名为REQUEST_URI的html文件。
www.website/bar工作正常。
www.website/foo/无效。这很明显,因为有一个尾随斜杠。
请帮我删除尾部斜杠并检查是否存在REQUEST_URI的html版本。
答案 0 :(得分:0)
您需要匹配捕获组外部的斜杠。 ^(.+)/
将匹配/foo/
或以斜杠结尾的任何uri字符串。要匹配非尾部斜杠和尾部斜杠uris,只需将?
放在末尾^(.+)/?
。
使用以下内容更新您的规则:
RewriteRule "^(.+)/?" "%{DOCUMENT_ROOT}/static/$1.html" [L]