2012-02-27 2 views
0

Мне уже задали аналогичный вопрос месяц назад и dt получил решение для моей ситуации. Но теперь у меня есть одно важное уведомление по этой проблеме.неправильный адрес пути с правилом перезаписи

Я запускаю сайт на локальном веб-сервере. Путь к сайту - http://ikot. И когда я вхожу в адрес, например, «ikot/news» - это нормально , но когда я вхожу в ikot/media, он переходит на «http: // ikot/media /? Level [0] = media & depth = 1"

моих правила перезаписи в HTAccess:

RewriteRule  ^([0-9a-zA-Z_-]+)[/]?$ /index.php?level[0]=$1&depth=1 [L,QSA]      
RewriteRule  ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)[/]?$ /index.php?level[0]=$1&level[1]=$2&depth=2 [L,QSA] 
RewriteRule  ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)[/]?$     /index.php?level[0]=$1&level[1]=$2&level[2]=$3&depth=3 [L,QSA] 
RewriteRule  ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)[/]?$  /index.php?level[0]=$1&level[1]=$2&level[2]=$3&level[3]=$4&depth=4 [L,QSA] 

причина этой трансформации (Ikot/СМИ к Ikot/СМИ/[мусор] пути) является то, что у меня есть «медиа» папка в корневом каталоге моего сайта. И, возможно, переписать правило каким-то образом считает, что я хочу войти в эту папку или что-то в этом роде (но ikot/media ведет к медиа-странице сайта, а не к содержимому медиа-папки).

Помогите мне с этой ситуацией. Спасибо

ответ

0

Попробуйте отключить DirectorySlash. Похоже, что mod_dir меняет ваш url, а rewrite работает не так, как вы хотите (первый mod rewrite изменяет его на index.php? ... и следующий mod dir перенаправляет на/media /? ... - или что-то в этом роде) ,

Добавление «DirectorySlash Off» в .htaccess работает для меня.

Если это помогает, пожалуйста, внимательно прочитайте «Предупреждение безопасности» на этой странице: http://httpd.apache.org/docs/2.0/mod/mod_dir.html

+0

это работает! спасибо!) * будет прочитано уведомление о безопасности – Dmitry

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