mod_Rewrite的问题

时间:2012-01-20 17:24:22

标签: php apache .htaccess mod-rewrite

我的本​​地计算机上有一个站点,它的地址是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工作正常。

我认为这是重新连接规则问题,因为我使用了发送调试断点而且它们不起作用。这意味着代码执行还没有开始。

我发现了这个问题的更具体原因。如果在服务器上有名称为地址的文件夹,则会发生错误。例如,如果我写ikot.ru/media并且我在服务器上有这个名字(媒体)的文件夹(在项目主文件夹中),地址中会有垃圾,否则地址会正确

有什么建议吗?

0 个答案:

没有答案