1

我的域上有一个由其他网络管理员设置的 Wordpress 博客。所有帖子都在此文件结构下归档:

http://www.example.com/blog/index.php/2012/04/24/name-of-the-post/

我正在尝试使用我的 .htaccess 文件来 301 将旧帖子的链接重定向到他们在此处看到的新地址(注意它是相同的 URL,除了/index.php缺少):

http://www.example.com/blog/2012/04/24/name-of-the-post/

在我的 .htaccess 文件中,我试图用这个重定向 URL:

RewriteEngine on
RewriteRule ^blog/index\.php/([A-Za-z0-9-/.]+)$ http://www.example.com/blog/$1 [R=301]

问题:当我在 .htaccess 文件中使用上述 RegEx 时,我收到错误消息“未指定输入文件”。 在浏览器中,重定向不会发生。我究竟做错了什么?我的正则表达式有问题吗?还是我还缺少其他东西?

4

1 回答 1

0

诀窍是我需要将一个 .htaccess 文件放入我的blog目录中。

这是对我有用的代码:

RewriteEngine On
RewriteRule ^index\.php/(.*)$ $1 [R=301,L,NC]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress
于 2012-05-07T13:45:16.797 回答