如何从静态页面的 URL 中删除 .html
?
另外,我需要将任何带有 .html
的 url 重定向到没有它的 url。 (即 www.example.com/page.html
到 www.example.com/page
)。
原文由 Dave 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何从静态页面的 URL 中删除 .html
?
另外,我需要将任何带有 .html
的 url 重定向到没有它的 url。 (即 www.example.com/page.html
到 www.example.com/page
)。
原文由 Dave 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为对 Jon 的回答 做出一些解释是有建设性的。以下:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
检查指定的文件或目录是否分别不存在,然后重写规则继续:
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
但是,这是什么意思?它使用 正则表达式(regular expressions) 。这是我之前做的一些小东西……
我 认为 这是正确的。
注意:测试您的 .htaccess
时不要 使用 301 重定向。使用 302 直到完成测试,因为浏览器将缓存 301s。请参阅 https://stackoverflow.com/a/9204355/3217306
更新: 我有点误会, .
匹配除换行符以外的所有字符,因此包括空格。此外, 这是一个有用的正则表达式备忘单
资料来源:
http://community.sitepoint.com/t/what-does-this-mean-rewritecond-request-filename-fd/2034/2
https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules
原文由 binaryfunt 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答897 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答908 阅读✓ 已解决
2 回答789 阅读
1 回答780 阅读✓ 已解决
2 回答1.1k 阅读
感谢您的回复。我已经解决了我的问题。假设我的页面位于 http://www.yoursite.com/html 下,以下 .htaccess 规则适用。