使用匹配参数.htaccess重定向301

时间:2014-07-21 11:57:05

标签: .htaccess redirect mod-alias

我将网站从旧的传统(m。)网址重定向到响应式设计网址。

这是我的url和htaccess的例子。

Old traditional URL => New Responsive design URL 

m.mydomain.com => mydomain.com
m.mydomain.com/mobiles.html => mydomain.com/mobiles
m.mydomain.com/mobiles/android-phones.html => mydomain.com/mobiles/android-phones-price.html
m.mydomain.com/mobiles/android/samsung-phones.html => mydomain.com/mobiles/samsung/android-phones.html

的.htaccess

RedirectMatch 301  m.mydomain.com/mobiles/android/(.*)-phones.html mydomain.com/mobiles/$1/android-phones.html

但我收到内部服务器错误(500)。 如何解决此问题。

1 个答案:

答案 0 :(得分:2)

您无法使用RedirectMatch指令匹配主机名。请改用mod_rewrite规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^m\.mydomain\.com$ [NC]
RewriteRule ^$ http://mydomain.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^m\.mydomain\.com$ [NC]
RewriteRule ^mobiles\.html$ http://mydomain.com/mobiles [L,NC,R=301]

RewriteCond %{HTTP_HOST} ^m\.mydomain\.com$ [NC]
RewriteRule ^mobiles/android-phones\.html$ http://mydomain.com/mobiles/android-phones-price.html [L,NC,R=301]

RewriteCond %{HTTP_HOST} ^m\.mydomain\.com$ [NC]
RewriteRule ^mobiles/android/samsung-phones\.html$ http://mydomain.com/mobiles/samsung/android-phones.html [L,NC,R=301]