Укажите виртуальный поддомен на папку - ошибка - PullRequest
1 голос
/ 18 июня 2011

У меня есть доменное имя www.jannatband.com, когда я получаю доступ к URL:

http://jannatband.com/me/asd

Он успешно отображает значение asd, исходный URL выглядит так:

http://jannatband.com/me/index.php?u=asd

HTACESS КОД ДЛЯ ВЫШЕ:

# .htaccess
RewriteEngine on
RewriteRule ^[aA-zZ]+$ index.php?u=$0

но когда я пытаюсь преобразовать тот же URL в

http://me.jannatband.com/asd

используя этот .htaccess код:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^me\.jannatband\.com$
RewriteCond %{REQUEST_URI} !^/me/
RewriteRule (.*) /me/$1

Это дает мне ошибку This webpage is not available. Что не так с этим .htaccess кодом?

PS : /me/ является существующим каталогом в public_html.

1 Ответ

0 голосов
/ 18 июня 2011

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

Вы можете сказать это, указав флаг, следующий флаг. Из руководства :

'next | N' (следующий раунд) Перезапустите процесс перезаписи (снова начните с первого правила перезаписи). На этот раз URL-адрес, который нужно сопоставить, больше не является исходным, а скорее URL-адресом, возвращаемым последним правилом перезаписи. Это соответствует команде Perl next или continue в C. Используйте этот флаг, чтобы перезапустить процесс перезаписи - чтобы сразу перейти к началу цикла.

Так что будьте осторожны при включении:

RewriteRule (.*) /me/$1 [N]
...