我已经在一个月前问过类似的问题了,并且根据我的情况接受了解决方案。 但是现在我有一个关于这个问题的重要通知。
我在本地网络服务器上运行网站。网站路径为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导致网站的媒体页面,而不是媒体文件夹的内容)。
请帮助我解决这个问题。 感谢
答案 0 :(得分:0)
请尝试关闭DirectorySlash。它看起来mod_dir改变了你的url并且重写不能按照你想要的方式工作(第一个mod重写将它改为index.php?...而下一个mod dir重定向到/ media /?... - 或类似的东西)
将“DirectorySlash Off”添加到.htaccess对我有用。
如果有帮助,请仔细阅读该页面上的“安全警告”:http://httpd.apache.org/docs/2.0/mod/mod_dir.html