2016-08-30 3 views
0

На сервере Apache я хочу перенаправить любые запросы, сделанные в определенные подкаталоги, на веб-корень. Например, если пользователь пытается перейти на http://www.my-domain.com/js/, я хочу перенаправить их на http://www.my-domain.com/. Я предполагаю, что мне нужно использовать файл .htaccess и mod_rewrite, но, возможно, есть лучший способ.Как перенаправить из подкаталога на сервере Apache в корень root/root?

В частности, я хочу перенаправить пользователя в любое время, когда они делают запрос в каталог, который не содержит индексный файл. Хитрость заключается в том, что я не хочу жестко кодировать URL-адрес домена для перенаправления. Вместо этого я хочу использовать переменную для корня root/домена root, так что независимо от того, в какой среде я использую код, она будет работать.

Как это сделать? Спасибо.


Добавление на мой вопрос немного, я попробовал оба следующих в .htaccess файле, но ни работал.

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^%{HTTP_HOST} [L] 
</IfModule> 

Приведенное выше дало мне какую-то странную ошибку Apache и не перенаправляло.

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^%{DOCUMENT_ROOT} [L] 
</IfModule> 

Это перенаправлено на страницу корневого каталога, но не изменило URL.

ответ

0

Я смог найти ответ на свой вопрос. Следующие работы:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^/[L,R] 
</IfModule> 
Смежные вопросы