0

目前我的网址是: http: //www.domain.co.uk/index.php/city/details/city-name

我想将其更改为:

http://www.city-name.domain.co.uk/index.php/city/details/city-name

或者:

http://www.city-name.domain.co.uk/city/details/city-name

4

1 回答 1

1

将 .htaccess 文件放入 http://www.domain.co.uk/ 文档根目录

到 http://www.city-name.domain.co.uk/index.php/city/details/city-name

RewriteRule ^(.*)/([^/]+)$ http://www.$2.domain.co.uk/$1/$2 [R=301,L]

到 http://www.city-name.domain.co.uk/index.php/city/details/city-name

RewriteRule ^index.php/(.*)/([^/]+)$ http://www.$2.domain.co.uk/$1/$2 [R=301,L] 

如果服务器相同,在上面设置 RewriteRule 这一行,防止重定向循环

RewriteCond %{HTTP_HOST} !^www\.(.*).domain\.co\.uk [NC]  

文件内容示例

<ifModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} !^www\.(.*).domain\.co\.uk [NC]  
   RewriteRule ^index.php/(.*)/([^/]+)$ http://www.$2.domain.co.uk/$1/$2 [R=301,L]  
</IfModule>

排除 domain.co.uk(不包括 www)

<ifModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} !^www\.(.*).domain\.co\.uk [NC]
   RewriteCond %{HTTP_HOST} !^domain\.co\.uk [NC]  
   RewriteRule ^index.php/(.*)/([^/]+)$ http://www.$2.domain.co.uk/$1/$2 [R=301,L]     
</IfModule>
于 2012-07-19T11:23:58.453 回答