.htaccess: перенаправить корневой URL в подкаталог, но сохранить структуру корневого URL - PullRequest
0 голосов
/ 29 июля 2011

Я создал сайт в подкаталоге и хотел бы, чтобы сайт отображался так, как если бы он был в корне.

Я использовал приведенный ниже код Mod_Rewrite, чтобы корневой каталог сайта перенаправлялся в подкаталог, но я бы хотел, чтобы папка, в которой хранятся файлы, не появлялась.

в настоящее время: www.example.com/sitefiles/content/

Хотелось бы: www.example.com/content

Спасибо

Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^$ /sitefiles/    [L]
RewriteRule (.*) /sitefiles/$1 [L]

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Если для требуется через .htaccess и mod_rewrite, используйте это:

Options +FollowSymlinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/sitefiles/
RewriteRule (.*) /sitefiles/$1 [L]
  1. Поскольку вы явно не указали страницу, когда веб-сайтБудет нажата команда root, тогда в этой строке нет необходимости: RewriteRule ^$ /sitefiles/ [L]

  2. Необходимо добавить условие для основного правила перезаписи, чтобы предотвратить цикл перезаписи (когда перезаписанный URL перезаписываетсяеще раз): RewriteCond %{REQUEST_URI} !^/sitefiles/

0 голосов
/ 29 июля 2011

Ну, у каталога не должно быть никаких причин появляться в каком-либо листинге, и тот опубликованный вами mod_rewrite должен позволять вам делать то, что вы сказали. Тем не менее, я бы пошел по-другому:

Options +FollowSymLinks +Indexes

RewriteEngine on
RewriteBase /
RewriteRule ^$ sitefiles/ [L]
RewriteRule ^(.+)$ sitefiles/$1 [L]

Надеюсь, это сработает.

...