2010-06-18 2 views
3

Я использую mod-rewrite для довольно URL-адресов, предназначенных для работы в корне домена. Работаю отлично, но теперь я пытаюсь заставить его работать на субдомене, и он продолжает давать «500 Internal Server Error».mod-rewrite, чтобы игнорировать поддомен

Субдомен автоматически перенаправляет в папку с таким именем на мой хостинг аккаунт (sub.domain.com показывает содержание domain.com/sub/). Это не так, потому что этот запрос уже автоматически переписывается автоматически или я могу просто что-то изменить в htaccess для адресации поддомена?

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 
+0

Как именно эти правила должны выполнять то, что вы утверждаете, что хотите сделать? – Artefacto

+0

Они отправляют все запросы, такие как «domain.com/what/ever/» обратно в index.php, где я могу выбрать «что» и «когда-либо» в качестве переменных. Он отлично работает, когда нет субдомена, но я застрял в том, что он игнорировал субдомен. – Berend

+1

Здесь нет большого количества конфигов. Этого правила недостаточно, чтобы делать то, что вы говорите. –

ответ

0

Обратитесь к ISP и проверить, если они установки DocumentRoot для поддоменов в/домен/суб/каталога (вполне вероятно), либо с использованием внутреннего RewriteRule, чтобы направлять трафик в этот каталог (вам может видеть, есть ли внешний переписывать/перенаправлять на месте с помощью Chrome или Firefox + firebug, использовать инструменты разработчика, чтобы проверить заголовок ответа, на вкладке сети). Если они установили корень документа, вам нужно будет скопировать или символически связать ВСЕ файлы, которые вы хотите получить через поддомен, в каталог /domain.com/sub/, например. .htaccess, index.php, images, js и css файлы и подкаталоги. Если они используют внутреннюю переписку, достаточно быстрая настройка собственной существующей внутренней перезаписи в существующем файле .htaccess должна быть достаточной, например.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L]