У меня есть сайт на моей локальной машине, его адрес ikot
, и у меня есть файл .htaccess, который содержит:
RewriteEngine On
AddDefaultCharset UTF-8
DirectoryIndex index.php
Options +FollowSymLinks +SymLinksIfOwnerMatch
php_flag magic_quotes_gpc off
php_value memory_limit 64M
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]
RewriteRule ^([0-9a-zA-Z_-]+)/([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&level[4]=$5&depth=5 [L,QSA]
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([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&level[4]=$5&level[5]=$6&depth=6 [L,QSA]
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([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&level[4]=$5&level[5]=$6&level[6]=$7&depth=7 [L,QSA]
И когда я набираю адрес моего браузера ikot/media
, онперенаправляет меня (с кодом 301) на http://ikot/media/?level[0]=media&depth=1
Нет проблем с другими адресами, например, ikot/cats
работает правильно.
Я думаю, что это проблема правила перезаписи, потому что я использовалотправить точки отладки, и они не работают.Это означает, что выполнение кода еще не началось.
Я нашел более конкретную причину этой проблемы.если на сервере есть папка с именем smae в качестве адреса, произойдет ошибка.Например, если я пишу ikot.ru/media и у меня на сервере есть папка с таким именем (media) (в основной папке проекта), в адресе будет мусор, иначе адрес будет правильным
Есть предложения?