2014-09-09 3 views
-1

У меня в настоящее время проблема с моим новым сайтом.Apache Перенаправление или переписывание

Живой сайт находится в подкаталоге "live". Итак, мои URL-адреса выглядеть следующим образом: www.example.com/live/specials/

Я бы хотел, чтобы мои URL-адреса, чтобы выглядеть следующим образом: www.example.com/specials/

Это то, что у меня есть в моем .htaccess в корневом каталоге:

RewriteEngine On 
RewriteRule ^$ live/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ live/$1 

Заранее за вашу помощь!

+0

Что идет не так с кодом вас в курсе? Переадресовывает ли он неправильное местоположение? Вы получили сообщение об ошибке? – showdev

+0

Нет ошибок, и все работает нормально. Но я не хочу видеть «live /» в URL-адресе. – embo

ответ

0

Вы можете использовать это правило в корне .htaccess:

RewriteEngine On 

RewriteRule ^((?!live/).*)$ live/$1 [L] 

Место это в /live/.htaccess:

RewriteEngine On 
RewriteBase /live/ 

RewriteCond %{THE_REQUEST} /live/(\S*) [NC] 
RewriteRule^/%1 [L,R=302,NE] 
+0

Спасибо за ответ. Эта строка кода делает то же самое, что и мой код. Показывает «live /» в URL-адресе. – embo

+0

Вам нужно ввести URL как 'www.example.com/specials /', и правило добавит/запустит/в него. – anubhava

+0

Чтобы перенаправить 'www.example.com/live/specials /' to 'www.example.com/specials /' см. Мой обновленный ответ. Не забудьте разместить новое правило в '/ live/.htaccess'. – anubhava