【问题标题】:HTACCESS Wordpress 301 redirects query stringsHTACCESS Wordpress 301 重定向查询字符串
【发布时间】:2017-04-13 15:40:32
【问题描述】:

我们最近将一个网站迁移到 WordPress。为了进行良好的迁移,我们希望 te 301 将所有旧 URL 重定向到新 URL。

旧网址如下所示:

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

我尝试了一切来重定向这些页面,但没有任何效果。即使重定向到主页也不起作用。

我尝试过这样的事情:

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

但没有运气。如何以正确的方式重定向这些 URL?

我很幸运,但在我的 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>

【问题讨论】:

  • 当然,我会把它添加到我原来的问题中

标签: wordpress .htaccess redirect mod-rewrite


【解决方案1】:

如果这不起作用,请尝试使用该请求。

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

【讨论】:

  • 谢谢你的例子。我尝试了您的解决方案,它正在将页面重定向到我的主页,但 URL 仍然是这样的:website.nl/?offset=256&pg=20070124 - 有没有办法从 URL 中删除它?
  • 你确定吗?清除缓存,RewriteRule 末尾的问号告诉它删除查询字符串。确保在那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2012-08-16
  • 2014-11-11
  • 2015-05-27
相关资源
最近更新 更多