Мод переписать для поддельных поддоменов? - PullRequest
1 голос
/ 15 марта 2010

Я действительно перепробовал кучу методов, но я не добился успеха. Я хочу, чтобы код .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

Спасибо

Ответы [ 3 ]

0 голосов
/ 15 марта 2010

Это будет так:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.mydomain\.com$
RewriteRule (.*) http://www.mydomain.com%1$1 [L,R=301]
0 голосов
/ 15 марта 2010

Если вы хотите обратное (см. Комментарий Роджера) и без перенаправления пользователя

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

0 голосов
/ 15 марта 2010

Убедитесь, что загружен 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]

Конд будет соответствовать только www.mydomain.com. Правило затем разделит URL-адрес на 2 с помощью первого символа '/' (который будет включен в $ 2), переписывает и перенаправляет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...