Невидимый .htaccess Перенаправление из / public_html / в / public_html / папку - PullRequest
7 голосов
/ 28 мая 2010

Мне нужно указать корневой домен моей учетной записи хостинга в подкаталоге (joomla). Я хочу, чтобы это было невидимым (то есть адресная строка браузера не меняется). Кроме того, мне нужно, чтобы это работало, когда пользователь переходит к корню или подпапке / подпапке.

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

Этот работает, когда не указан подфайл / подпапка:

RewriteEngine On
RewriteRule ^$ /joomla/ [L]

И этот работает, когда указан подфайл / подпапка:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+)$ /joomla/$1 [L]

Я просто не могу понять, как их объединить.

Ответы [ 2 ]

3 голосов
/ 28 мая 2010
RewriteEngine On

RewriteRule ^(.*)$ /joomla/$1 [L]

Должно работать (не проверено). Ключевое различие между этой и вашей второй попыткой - + против *. + Будет соответствовать одному или нескольким, тогда как * будет соответствовать 0 или более, поэтому это также должно работать, когда файл / подкаталог не указан.

2 голосов
/ 28 мая 2010

Это должно сработать:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /joomla/$1 [L]

.* также будет соответствовать пустой строке. Вы также, скорее всего, захотите выполнить проверку -d, чтобы убедиться, что они не обращаются к существующему каталогу (хотя, если подумать, это может привести к совпадению с /, я не знаю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...