我目前正在重写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
我目前坐在www.mydomain.com/wordpress/.htaccess的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文件,但这超出了我的范围。
答案 0 :(得分:0)
在将wordpress安装移动到文档根目录后,您需要在 wordpresspress规则之前添加一些规则。您需要在文档根目录中的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]
。