.htaccess - 301 将所有没有扩展名的文件重定向到 .html 扩展名

标签 .htaccess mod-rewrite redirect

我需要将请求 301 重定向到没有扩展名的文件,以与附加的 .html 扩展名相同:

http://www.mydomain.com/this


http://www.mydomain.com/this.html

以下内容不会被重定向:
http://www.mydomain.com/that/ (it's a directory)
http://www.mydomain.com/other.php

对上述任何帮助表示赞赏,谢谢。

最佳答案

请尝试以下操作。我会将它作为您的集合中的最后一条规则(即底部),以免与任何其他规则发生冲突。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ /$1.html [R=301,L]

这应该确保请求不是目录,并且不会以某种扩展名结束。如果满足这些条件,它将在请求后附加 .html .

这是未经测试的,所以如果它有效,请评论。 ;)

关于.htaccess - 301 将所有没有扩展名的文件重定向到 .html 扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337548/

相关文章:

.htaccess - htaccess 重定向 "/?id=(.*)",但仅限于根目录?

php - 我想使用重写规则来清除我的网址

php - .htaccess 中的特定重定向不起作用

zend-framework - Zend_Test - 在 PHPUnit Controller 插件中设置重定向

java - 发送重定向响应不起作用时使 cookie 过期

amazon-web-services - AWS 将 .net、.co.uk 和 .org 重定向到 .com

.htaccess - 在 .htaccess 中强制使用 HTTP

apache - .htaccess 301 从旧域重定向到新域,而页面结构和 url 相同

php - .htaccess:在特定情况下拒绝直接访问文件

python - 简单的 mod_rewrite 示例