0

由于我的 WP 安装的变幻莫测,我曾经有以下格式的永久链接:

旧格式: http: //mysite.org/index.php/%year%/%monthnum%/%day%/%postname%/

当时,“index.php”是使东西正常工作所必需的。我的 WordPress .htaccess 文件是标准的。

最近,我的托管公司将我迁移到另一台服务器。现在旧格式不起作用。没有“index.php”的另一种永久链接格式确实有效:

新格式: http: //mysite.org/%year%/%month%/%daynum%/%postname%/

由于我的博客和第三方网站上有许多旧格式的旧链接,我想保持旧格式。我尝试在 .htaccess 文件中插入重定向和重写规则,但无济于事。

谢谢!

4

1 回答 1

1

您可以添加此规则:

RewriteRule ^index.php/(.*)/?$ /$1/ [R=301,L]

在 WordPress 规则之上:

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

它会从旧样式 URL 向新样式 URL 发送 301 永久重定向。

鉴于您.htaccess有基本的 WordPress 规则,它看起来像这样:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php/(.*)/?$ /$1/ [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
于 2013-09-07T18:09:17.047 回答