我正在努力解决网站重新设计的一些重定向问题。旧的有几个网址,如下所示:
http://www.example.com/sitegroup/pages/GA/GA_Be.shtml
我想将其重定向到:
http://www.example.com/sitegroup/garten-und-landschaftsbau/#gartenforum-ideengarten
我尝试使用以下重写规则:
RewriteRule ^/?pagesGA/GA_Be.shtml$ http://www.example.com/sitegroup/garten-und-landschaftsbau/#gartenforum-ideengarten$1 [R=301,L,NE]
但我就是无法让它工作。我对.htaccess重写规则真的很陌生。
还有一些旧页面有这样的链接:
http://www.example.com/sitegroup/pages/GA/GA_Be.shtml?navid=15
但是 ?navid=15 没有做某事(只是突出显示菜单链接),所以我认为只需重定向 GA_BE.shtml 就足够了。我说的对吗?
以下是完整的 .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitegroup/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sitegroup/index.php [L]
</IfModule>
# END WordPress
RewriteRule ^/?pagesGA/GA_Be.shtml$ http://www.example.com/sitegroup/garten-und-landschaftsbau/#gartenforum-ideengarten$1 [R=301,L,NE]
提前感谢!
你应该把你的RewriteRule
放在Wordpress Dispatcher之前:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitegroup/
RewriteRule ^pages/GA/GA_Be.shtml$ http://www.example.com/sitegroup/garten-und-landschaftsbau/#gartenforum-ideengarten [R=301,L,NE]
RewriteRule ^pages/GA/GA_Bg.shtml$ http://www.example.com/sitegroup/garten-und-landschaftsbau/#gartenplanung-landschaftsplanung [R=301,L,NE]
RewriteRule ^pages/GA/GA_En.shtml$ http://www.example.com/sitegroup/garten-und-landschaftsbau/#erdsondenbohrung-erdwaerme [R=301,L,NE]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitegroup/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sitegroup/index.php [L]
</IfModule>
# END WordPress
否则,请求将首先由调度程序处理,并且永远不会到达您的规则。