2015-03-04 6 views
1

Я хочу показать example.com/c/bla , как example.com/bla он работает правильно, когда я пишу example.com/bla внутри адресной строке, но когда я нажимаю некоторые ссылки (пример. ком/ли) из example.com, он перенаправляет на example.com/c/blamod_rewrite себя странно

моего Htaccess код это

RewriteEngine on 
RewriteBase/
Options -Indexes +SymLinksIfOwnerMatch 

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

Является ли '/ bla' каталогом? – anubhava

+0

да и у меня также есть index.php в bla, который содержит , включают «../ index.php» –

ответ

1

это происходит из-за завершающий слэш быть добавлено mod_dir модуля после этого правила перезаписи , Иметь это так:

DirectoryIndex index.php 
DirectorySlash Off 
Options -Indexes +SymLinksIfOwnerMatch 
RewriteEngine on 
RewriteBase /home/ 

# add a trailing slash to directories 
RewriteCond %{DOCUMENT_ROOT}/home/c/$1 -d 
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302] 

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

Проверьте это в новом браузере, чтобы избежать использования старого кеша.

+0

Получил это, да, это из-за косых черт. , но выше код не работает -_- –

+0

Не работает не имеет информации об ошибке. Какая у вас ошибка? Вы очистили кеш браузера? – anubhava

+0

Да, я очистил свою последнюю 7-дневную историю –

Смежные вопросы