Я хочу, чтобы мой поддомен указывал прямо на папку. Я нашел следующий скрипт mod_rewrite для настройки этого поведения. К сожалению, это не сработает.Зачем переписывать субдомен не работает?
Когда я перехожу к fish.example.com, браузер отображает ошибку 404 со следующим сообщением. «Запрошенный URL/не найден на этом сервере».
Знаете ли вы, почему? Как я могу заставить его работать?
# Internally rewrite <subdomain>.example.com/<URLpath> to example.com/subs/<subdomain/<URLpath>
RewriteEngine on
RewriteCond $1 !^fish/
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule (.*) /fish/%1/$1 [L]
UPDATE
Я изменил сценарий к следующему, но в этом случае браузер перенаправляет на example.com вместо example.com/fish Вы знаете, почему?
RewriteCond $1 !^fish/
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule ^fish/(.*) /fish/%1/$1 [L]
Имеются ли в журналах доступа/ошибок Apache полезную информацию? – MichaelM
Да, Майкл, спасибо за подсказку. Я вижу следующее сообщение [Вт Окт 13 09:21:05 2009] [ошибка] [клиент 188.134.xxx.xxx] Файл не существует:/var/www/fish/fish Похоже, что каталог добавлен 2 раза. Но я понятия не имею, почему. – Pavel
Duplicate: http://stackoverflow.com/questions/1555390/can-i-rewrite-from-subdomain-to-folder-avoiding-redirection – Gumbo