我真的尝试了很多方法,但我没有成功。 我想要一个.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
谢谢
答案 0 :(得分:0)
会是这样的:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.mydomain\.com$
RewriteRule (.*) http://www.mydomain.com%1$1 [L,R=301]
答案 1 :(得分:-1)
确保加载了rewrite_module,例如;
LoadModule 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,重写和重定向。
答案 2 :(得分:-1)
如果您想要相反(请参阅Roger的评论)并且不需要重定向用户
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