2013-07-11 5 views
0

Я весь день здесь оглядывался, и хотя я видел подобные вопросы, и мне удалось получить частичный ответ на мой вопрос, я все еще не хватает одной важной части..htaccess перенаправляет на другой домен с помощью поддоменов подстановочных знаков

Вещь, которую я пытаюсь сделать, - иметь динамические поддомены (например, username.mydomain.dk) для использования в моей системе.

Что мне удалось до сих пор:

  1. Изменить DNS для поддержки метасимволов * .mydomain.dk
  2. Сделать .htaccess перенаправляет из моего основного домена (www.simon-smith.dk)
  3. просмотреть нужный mydomain.dk страница

Теперь проблема здесь в том, что у меня есть несколько сайтов, разделяющих один и тот же IP-адрес. www.simon-smith.dk - основной домен, а mydomain.dk также находится на этом IP-адресе. Поэтому при запросе * .mydomain.dk я сначала займусь на www.simon-smith.dk. Отсюда я добавил следующее в моей .htaccess:

# *.mydomain.dk redirectd 
RewriteCond %{HTTP_HOST} !^www\.mydomain\.dk$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.dk$ [NC] 
RewriteRule ^(.*)$ http://mydomain.dk/?subrequest=%1 [P,L,QSA] 

Здесь я использую флаг P, чтобы добраться до другого домена, но, видимо, это блокирует правила перезаписи на mydomain.dk, которые заключаются в следующем:

# match those that do not have language code 
RewriteCond %{REQUEST_URI} !^/public/[a-z]{2}/ [NC] 
RewriteRule ^(.*)$ index.php?url=$1 [PT,L,QSA] 

# match those that DO have a language code 
RewriteCond %{REQUEST_URI} !^/public/js/ 
RewriteRule ^([a-z]{2})/(.*)$ index.php?lang=$1&url=$2 [PT,L,QSA] 

я могу получить доступ к параметру подзапрос из URL без каких-либо проблем, но параметр URL не зарегистрирован больше.

Есть ли способ использовать .htaccess для этого перенаправления, или мне нужно получить веб-сервер с mydomain.dk в качестве основного домена, чтобы перенаправление было выполнено правильно?

ответ

0

После того, как выкопали еще немного и использовали несколько пробных проб и ошибок, я нашел свою ошибку.

На мой основной домен, www.simon-smith.dk, я просто должен был добавить правильный запрос URI для того, чтобы работать, таким образом, можно сделать следующим образом:

# *.mydomain.dk redirectd 
RewriteCond %{HTTP_HOST} !^www\.mydomain\.dk$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.dk$ [NC] 
RewriteRule ^(.*)$ http://mydomain.dk/$1?subrequest=%1 [P,L,QSA] 
Смежные вопросы