Перенаправление субдомена на IP без www - PullRequest
0 голосов
/ 14 ноября 2011

Я пытаюсь часами и почти злюсь.Я хочу перенаправить свой sub.example.com в файл на удаленном сервере.

Поэтому я хочу перенаправить мои субдомены (с www / без www) в xxxx / example / photo.jpg

Все отлично работает для www.sub.example.com.Он прекрасно перенаправляет на хххх / пример.Когда дело доходит до sub.example.com, у меня 404.

RewriteEngine on

RewriteCond %{HTTP_HOST} ^sub\.example\.com$
RewriteCond %{HTTP_HOST} ^www\.sub\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/x\.x\.x\.x\/example/$1" [R=301,L]

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011

RewriteCond неявно "И" объединены вместе, это означает, что вы никогда не получите% {HTTP_HOST}, который является одновременно "sub.example.com" и "www.sub.example.com", таким образом,RewriteRule никогда не привыкнет.Вы можете добавить [OR] после первого:

RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.sub\.example\.com$

, чтобы можно было выполнить либо RewriteCond и использовать правило, либо просто использовать это:

RewriteCond %{HTTP_HOST} ^(www\.)?sub\.example\.com$

Какойпо сути, говорит "www."может быть необязательным в матче.

0 голосов
/ 18 апреля 2013

веб-сайт cliknfind

используйте этот код RewriteEngine On RewriteCond% {HTTP_HOST} ^ example.com [NC] RewriteRule ^ (. *) $ http://www.example.com/$1 [R =301, L]

...