неверный адрес пути с правилом перезаписи - PullRequest
0 голосов
/ 27 февраля 2012

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

Я запускаю сайт на локальном веб-сервере.Путь к сайту 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 / media в путь ikot / media / [garbage]) в том, что у меня есть папка "media" в корневой папке моего сайта. И, возможно, правило перезаписи как-то считает, что я хочувойти в эту папку или что-то в этом роде (но ikot / media ведет к медиа-странице сайта, а не к содержимому медиа-папки).

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

1 Ответ

0 голосов
/ 27 февраля 2012

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

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

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

...