我正在使用相同的域名将我当前的静态站点移动到 Wordpress。
旧站点和新站点的内容都在根文件夹中,并且文件名也相同,但是在新(Wordpress)站点上,我删除了当前站点上存在的 .php 扩展名并添加了尾部斜杠,根据 Wordpress永久链接。
所以我需要重定向所有旧页面(例如):/contact-us.php -> /contact-us/
我已经尝试了有据可查的选项,例如(以及对此的变体):
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.php$ /$1 [R=301,L]
但这似乎与 Wordpress .htaccess 规则相冲突:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
当我尝试访问 www.site.com/contact-us.php 时,我得到一个无限循环或重定向到 www.site.com/index(没有 .php,没有尾部斜杠),Wordpress 显示为404 页面。
我尝试过使用和不使用第一组重写条件(我看到它们在 Wordpress 规则中重复),并且还将我的规则放在了 Wordpress 规则之前和之后。没有喜悦。过去几个小时我也一直在谷歌搜索,但似乎没有人解决这个特定问题。我通常会通过搜索找到我要找的东西,所以我真的很绝望地在发帖(这就是为什么这是我的第一篇帖子!)
如果有人可以提供帮助,我将不胜感激。