0

我目前正在 Wordpress 中重做我的网站之一。在我测试时,此安装当前位于 wwww.mydomain.com/wordpress 中。

在我的主站点上,请求是这样的: http ://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

http://www.mydomain.com/.htaccess上的 .htaccess当前如下所示:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule index/newsid/(.*) index.php?newsid=$1
RewriteEngine On

我的 Wordpress .htaccess 目前位于 www.mydomain.com/wordpress/.htaccess 如下

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

# END WordPress

当我迁移我的站点时,来自其他站点的所有链接都将中断,我已将所有文章合并到论坛中的存档中。我需要有效地做两件事,让我的 .htaccess 在我的网站根目录上运行,然后在移动它并将任何新闻请求重定向到其他地方。

本质上我想把这个: http ://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

进入: http ://www.mydomain.com/forums/index.php?showtopic=16589

他们这里的主要 id 是 16589,它是一个变量并且可以改变。

任何帮助将不胜感激,我可以做简单的 .htaccess 文件,但这超出了我的范围。

4

1 回答 1

0

将wordpress 安装移动到文档根目录后,您需要在 wordpress规则之前添加一些规则。您需要在文档根目录的 htaccess 文件中执行以下操作:

Options +FollowSymLinks
RewriteEngine on

# redirect your newsid
RewriteRule ^index/newsid/([0-9]+)/ /forums/index.php?showtopic=$1 [L,QSA,R]

# here are the wordpress rules

# 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

如果您想要 301 重定向,请将 替换[L,QSA,R][L,QSA,R=301].

于 2013-01-15T04:20:51.203 回答