Невидимое Перенаправление .htaccess от/public_html/до/public_html/folder

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

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

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

RewriteEngine On
RewriteRule ^$ /joomla/ [L]

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

RewriteEngine On

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

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

7
задан ggutenberg 28 May 2010 в 08:12
поделиться

2 ответа

RewriteEngine On

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

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

3
ответ дан 7 December 2019 в 12:15
поделиться

Это должно помочь:

RewriteEngine On

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

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

2
ответ дан 7 December 2019 в 12:15
поделиться