2

我已经在 stackoverflow 和其他网站上阅读了有关 htaccess 重定向和重写的信息,并学习了如何重定向简单的页面和目录,但是还有大约 30 个链接我无法重定向。原因似乎是因为它们在链接的 URL 中包含“ ? ”。我已经尝试过发布的解决方案,但我无法充分理解它们以取得成功。

这些工作:

Redirect /Corpfleet.php     htp://www.marketyourcar.cm/wraps.php
Redirect /drivers.php       htp://www.marketyourcar.cm/drivers.php
Redirect /galleries.php     htp://www.marketyourcar.cm/galleries.php

这些不起作用:

Redirect /ad.php?View=FAQ       htp://www.marketyourcar.cm/advertiser-faqs.php
Redirect /ad.php?View=gallery   htp://www.marketyourcar.cm/galleries.php
Redirect /ad.php?View=Materials htp://www.marketyourcar.cm/products-services.php

是的,我知道上面的 URL 是 htp 和 .cm - 我必须打破它才能以我的低声誉发表这篇文章。

如果有人可以提供帮助,我将不胜感激。谢谢

4

3 回答 3

2

如果您想从以下位置重定向:

site.com/index.php?blabla=1&id=32

site.com/contact.html

然后使用:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} blabla=1&id=32
RewriteRule ^(.*)$ http://www.site.com/contact.html? [R=301,L]
</IfModule>
于 2013-09-12T20:18:31.840 回答
1

Redirect无法处理。RewriteRule能够。这应该有效。

RewriteEngine on
RewriteRule ^/ad\.php\?View\=FAQ$ http://www.marketyourcar.cm/advertiser-faqs.php [R=301,L] 
RewriteRule ^/ad\.php\?View\=gallery$ http://www.marketyourcar.cm/galleries.php [R=301,L]
RewriteRule ^/ad\.php\?View\=Materials$ http://www.marketyourcar.cm/products-services.php [R=301,L] 

或者试试这个:

RewriteEngine on
RewriteRule ^/ad.php?View=FAQ$ http://www.marketyourcar.cm/advertiser-faqs.php [R=301,L] 
RewriteRule ^/ad.php?View=gallery$ http://www.marketyourcar.cm/galleries.php [R=301,L]
RewriteRule ^/ad.php?View=Materials$ http://www.marketyourcar.cm/products-services.php [R=301,L] 
于 2013-01-24T02:17:23.427 回答
0

这可能有效:

例子:

RewriteEngine On
RewriteRule ^/ad.php?View=FAQ$  http://www.marketyourcar.cm/advertiser-faqs.php? [R=301,L] 

向替换 URL添加尾随?以删除传入查​​询。

于 2013-01-24T03:47:39.287 回答