Изменение структуры каталогов с помощью .htaccess - PullRequest
3 голосов
/ 14 ноября 2009

Я хочу переместить все файлы моего веб-сайта (даже включая index.php) в подкаталог (для exp: "abc")

Например ДО:

public_html
 index.php
 a.file
 directory
   an.other.file
 ...

ПОСЛЕ:

public_html
 abc_directory
   index.php
   a.file
   directory
     an.other.file
   ...

Я хочу, чтобы все работало, как было раньше, но я не хочу делать перенаправления (видимые).

Люди должны ввести "http://myexmaplesite.com/directory/an.other.file/" и .htaccess apache обслуживать их" http://myexmaplesite.com/abc_directory/directory/an.other.file/" НО БЕЗ ВНЕШНИХ НАПРАВЛЕНИЙ (301 302 и т. Д.)

Как мне перенаправить все запросы в подкаталог с помощью mod_rewrite?

Ответы [ 2 ]

1 голос
/ 14 ноября 2009

Попробуйте это правило mod_rewrite в корне документа:

RewriteEngine on
RewriteRule !^directory/ directory%{REQUEST_URI} [L]

Или вообще:

RewriteEngine on
RewriteCond $1 !^directory/
RewriteRule ^/?(.*) directory/$1 [L]

Это должно применяться даже в конфигурациях серверов или виртуальных хостов.

1 голос
/ 14 ноября 2009

Что-то вроде

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ directory/$1 [L,QSA]
...