Wordpress网址中的index.php

时间:2013-09-07 17:58:01

标签: wordpress .htaccess url-rewriting

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

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

当时,“index.php”是让工作变得有效的必要条件。我的WordPress .htaccess文件是标准的。

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

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

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

谢谢!

1 个答案:

答案 0 :(得分: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]

它会从您的旧样式网址发送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>