国防部重写假的子域名?

我真的尝试了很多方法,但我不成功。 我想要一个.Htaccess代码来执行以下操作:

我想重命名这个: http : //www.mydomain.com/media – > http://media.mydomain.com

所以,例如,而不是调用这个: http : //www.mydomain.com/media/XXX/picture.jpg我会打电话: http : //media.mydomain.com/XXX/picture.jpg

谢谢

会是这样的:

RewriteEngine on RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.mydomain\.com$ RewriteRule (.*) http://www.mydomain.com%1$1 [L,R=301] 

确保rewrite_module被加载,类似于;

 Loadmodulee rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 

然后添加以下(到您的.htaccess):

 RewriteEngine on RewriteCond %{HTTP_HOST} www.mydomain.com RewriteRule ^/([^/]*)(.*) http://$1.mydomain.com$2 [L,R] 

Cond只会匹配www.mydomain.com。 然后,规则将使用第一个“/”(将被包含在$ 2中)将URL分割为2,重写和重定向。

如果你想要相反(见罗杰的评论),而不重定向用户

 RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^([^.]+)\.mydomain\.com(.*) http://www.mydomain.com/$1$2 [L] 

另请参阅: http : //httpd.apache.org/docs/1.3/misc/rewriteguide.html