htaccess, перенаправить виртуальный поддомен на параметр URL - PullRequest
1 голос
/ 03 ноября 2010

У меня есть домен .ne.ro (зарегистрированный в Румынии), куда посетители могут войти с или без 'www':

http://mydomain.ne.ro
http://www.mydomain.ne.ro

Я хочу перенаправить http://123.mydomain.ne.ro на http://mydomain.ne.ro?id=123. Если посетитель вводит с помощью 'www | mail | ftp', он должен рассматриваться как непараметрический (очевидно).

Я попытался перенаправление поддомена htaccess с последним параметром URL , но не сработало.

Текущий код:

# edited on 05/April/2011 as suggested:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [R,L]

<ч /> Размещено на бизнес-плане хостгатора (linux) и зарегистрировано на nic.ro , просто если спросить.

Ответы [ 3 ]

4 голосов
/ 12 апреля 2011

После многих предложенных кодов (спасибо supersuphot ) и большого количества исследований, наконец, я нашел ответ.

Сначала я добавил поддомен * в mydomain.ne.ro , указывая на папку / путь домена:

Create subdomain *, hostgator shared account

Затем я загрузил файл .htaccess со следующим кодом:

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

это тоже работает:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [P,L]

Самая важная вещь - P вместо R в последней строке, чтобы сохранить исходный поддомен. Отметьте этот ответ на связанный вопрос .

1 голос
/ 26 марта 2012

Вау квант!

Я ищу этот код уже два дня, наконец-то ...

Ваш первый код идеально подходит для меня

RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]

Также Вы можете изменить это (для заглавных или строчных букв)

RewriteRule ^(.*)$ http://mydomain.ne.ro/?id=%1 [P,L]

Большое количество спасибо

1 голос
/ 06 апреля 2011
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ http://mydomain.ne.ro?id=%1 [R,L]
...