0

我目前有以下作为我的静态文件的 htaccess 规则,它工作正常。

http://mywebsite.local/en/testing-page从中获取页面cached_pages/en/testing-page.html

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cached_pages/%{REQUEST_URI}\.html -s
RewriteRule .* cached_pages/%{REQUEST_URI}\.html [L]

我的服务器还将索引文件写为 cached_pa​​ges/en.html 这是正确的。但是,需要哪些 htaccess RewriteCond 和 RewriteRule 行来指向文件,所以http://mywebsite.local/en/cached_pages/en.html

RewriteCond %{REQUEST_METHOD} GET
???????????
???????????

请注意URL 的末尾有一个/,所以它不像我想象的那么简单。

那么,如何让重写规则为以斜杠结尾的 url 工作?

4

1 回答 1

1

最简单的方法是使用附加的斜杠复制现有规则并使用and/锚定它^$

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cached_pages/$1\.html -s
RewriteRule ^(.+)$ cached_pages/$1\.html [L]

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cached_pages/$1\.html -s
RewriteRule ^(.+)/$ cached_pages/$1\.html [L]
于 2013-03-07T14:49:43.247 回答