用params重定向301

时间:2015-04-29 12:20:04

标签: regex apache .htaccess mod-rewrite redirect

我正在重定向旧网站和新网站之间的流量,我需要将301从/hotel.php?hotel=lasvegas&lng=es重定向到http://www.new-web.com/hotel-las-vegas/

怎么可能从htaccess? 我试过了

Rewriterule ^hotel\.php\?hotel=lasvegas\&lng=es http://www.new-web.com/hotel-las-vegas/ [L,R=301]

我认为我的错误是正则表达式。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /hotel\.php\?hotel=lasvegas&lng=es [NC]
RewriteRule ^ hotel-las-begas? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^hotel-las-vegas/?$ hotel.php?hotel=lasvegas&lng=es [L,QSA,NC]

答案 1 :(得分:0)

在htaccess的最佳位置插入最佳重定向代码301非常重要。例如 : http://www.abartazeha.com/ 我们取代abartazeha.com而不是abartazeha.ir

...

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]