只有一部分网址需要301重定向

时间:2014-10-02 07:54:42

标签: php .htaccess url redirect partial

我需要在我的网站上重定向一堆或URL。

我有 http://www.myurl.lt/lt/imone/landstar-lt-lt/?cms_action=manage我需要将其重定向到http://www.myurl.lt/lt/imone/landstar-lt-lt/

我有大约700个,所以可以使用一个重定向命令进行重定向吗?

3 个答案:

答案 0 :(得分:0)

此规则应删除cms_action参数,但保留所有其他参数

RewriteCond %{QUERY_STRING} ^(.+?&|)cms_action=[^&]*(?:&(.*)|)$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1%2 [R=301,L]

答案 1 :(得分:0)

将此规则放在/it/imone/.htaccess文件中:

RewriteEngine On
RewriteBase /it/imone/

RewriteCond %{THE_REQUEST} /([^?]*)\?cms_action=manage [NC]
RewriteRule ^ %1/? [R=301,L]

RewriteCond %{QUERY_STRING} !(^|&)cms_action=manage(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}?cms_action=manage [L,QSA]

答案 2 :(得分:0)

在这种情况下,为什么不直接从管理操作重定向用户,而不是使用对我没有任何意义的重写?这肯定会增加清晰度。如果您使用PHP,例如:

// Inside manage action
header('Location: http://www.myurl.lt/lt/imone/landstar-lt-lt/');