2016-11-29 82 views
0

我们最近将一个站点迁移到WordPress。为了实现良好的迁移,我们希望te 301将所有旧的URL重定向到新的URL。HTACCESS Wordpress 301重定向查询字符串

旧的URL是这样的:

www.website.nl/site/producten.html?offset=256&pg=20070124 

我什么都试过重定向这些网页,但毫无效果。即使重定向到主页也无法正常工作。

我想是这样的:

RewriteCond %{QUERY_STRING} pg=20070124 
RewriteRule ^producten.html(.*) /producten/? [R=301,L] 

,但没有运气。如何以适当的方式重定向这些网址?

我很幸运,但我仍然在我的URL后得到了?offset = 256 & pg = 20070124。

有没有301重定向这些URL的好方法?

这是我目前的.htaccess

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php 

RewriteCond %{HTTP_HOST} ^www\.(.+)$ 
RewriteRule^https://%1%{REQUEST_URI} [L,R=301] 
</IfModule> 


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


<IfModule mod_rewrite.c> 
RewriteEngine On 
Redirect 301 /site/producten.html https://website.nl/ 
Redirect 301 /site/productenindex.html https://website.nl/ 
Redirect 301 /site/algemene_voorwaarden.html https://website.nl/privacy/ 
Redirect 301 /site/besparen.html https://website.nl/ 
Redirect 301 /site/douche.html https://website.nl/badkamer/ 
Redirect 301 /site/dakgoot.html https://website.nl/dakgoten/ 
Redirect 301 /site/contact.html https://website.nl/contact/ 
Redirect 301 /site/elektra.html https://website.nl/diensten/installatiebedrijf-den-bosch/ 
Redirect 301 /site/radiator.html https://website.nl/cv-ketels/ 
Redirect 301 /site/sanitair.html https://website.nl/badkamer/ 
Redirect 301 /site/schakelmateriaal.html https://website.nl/diensten/installateur-den-bosch/ 
Redirect 301 /site/duurzaam.html https://website.nl/ 
Redirect 301 /site/bad.html https://website.nl/badkamer/ 
Redirect 301 /site/meubelen.html https://website.nl/ 
Redirect 301 /site/boiler.html https://website.nl/cv-ketels/ 
Redirect 301 /site/verlichting.html https://website.nl/ 
Redirect 301 /site/ketel.html https://website.nl/cv-ketels/ 
Redirect 301 /site/leidingen.html https://website.nl/loodgieter/ 
Redirect 301 /site/dakbedekking.html https://website.nl/ 
Redirect 301 /site/afvoer.html https://website.nl/verstoppingen/ 
Redirect 301 /site/toilet.html https://website.nl/loodgieter/ 
Redirect 301 /site/warmteterug.html https://website.nl/cv-ketels/ 
Redirect 301 /site/geiser.html https://website.nl/cv-ketels/ 
Redirect 301 /site/vloer.html https://website.nl/ 
Redirect 301 /site/kranen.html https://website.nl/badkamer/ 
Redirect 301 /site/wastafels.html https://website.nl/badkamer/ 
Redirect 301 /site/zonneenergie.html https://website.nl/ 
Redirect 301 /site/loodgietwerk.html https://website.nl/loodgieter/ 
Redirect 301 /site/verwarming.html https://website.nl/cv-ketels/ 
Redirect 301 /site/convector.html https://website.nl/cv-ketels/ 
Redirect 301 /site/algemeen4.html https://website.nl/ 
Redirect 301 /site/producten/hommage-wastafelonderkast-69x.20412735.html https://website.nl/ 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /site/producten\.html\?offset=(.+)&pg=([^&\s]+) 
RewriteRule^/producten/? [R=301,L] 

</IfModule> 
+0

ofcourse,我会把它加到我原来的问题 – user2812779

回答

1

尝试使用要求,如果这是行不通的。

RewriteEngine on 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /site/producten\.html\?offset=(.+)&pg=([^&\s]+) 
RewriteRule^/producten/? [R=301,L] 
+0

谢谢你的例子。我尝试了你的解决方案,它将页面重定向到我的主页,但URL仍然是这样的:https://website.nl/?offset=256&pg=20070124 - 有没有办法从URL中删除这个? – user2812779

+1

你确定吗?清除缓存,RewriteRule末尾的问号告诉它放弃查询字符串。确保那里。 –