如何解决使用 htaccess 迁移到 WordPress 后,将所有 .html 页面重写为没有扩展名的页面
我们刚刚将 html 网站转移到 wordpress 版本。原始文件名都附加了 .html
。现在自从迁移到 wordpress,我们所有的旧页面都是 404'ing。
// Ex:
about.html
contact.html
我一直在寻找一个 .htaccess
规则,它允许我查找带有 .html
扩展名的页面并重定向到非 html 版本,例如:
about.html --> about/
contact.html --> contact/
我一定在我的 .htaccess
文件中尝试了至少六个代码片段,但是当我硬刷新页面时,它们似乎都没有效果。
示例包括:
# Ex. 1
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
# Ex. 2
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
# Ex. 3
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
我的当前 .htaccess 文件具有标准的 wordpress 代码块:
# Code from a Security plugin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</IfModule>
# BEGIN wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.PHP$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.PHP [L]
</IfModule>
# END wordpress
诚然,我不是 Apache 和 .htaccess 文件方面的专家,我一直在急于寻找工作代码,因为我的时间有点紧张。
谢谢,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。