当前位置:  开发笔记 > 编程语言 > 正文

为什么modRewrite将自动.php应用于这个简单的规则?

如何解决《为什么modRewrite将自动.php应用于这个简单的规则?》经验,为你挑选了1个好方法。

好吧,我有一个愚蠢的问题,但我可能是愚蠢的:)

我有这个简单的.htaccess:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteRule ^news/([^/]+)$               news-inside.php?n=$1 [L]
RewriteRule ^news/?$                  news.php [L]


RewriteCond %{REQUEST_FILENAME} !-f

每次我尝试通过键入一些这样的网址来进入第一个规则:

HTTP://主机/新闻/某事

我被重定向到文件news.php,而不是带有查询字符串的news-inside.php!

查看到达页面的$ _GET和$ _SERVER,结果如下:

$_GET => empty

$_SERVER (some)

  'REQUEST_METHOD' => string 'GET' (length=3)
  'QUERY_STRING' => string '' (length=0)
  'REQUEST_URI' => string '/news/something' (length=15)
  'SCRIPT_NAME' => string '/news.php' (length=9)
  'PATH_INFO' => string '/something' (length=10)
  'PATH_TRANSLATED' => string '/var/www/rolo/something' (length=23)
  'PHP_SELF' => string '/news.php/something' (length=19)

有任何想法吗??



1> Gumbo..:

尝试禁用MultiViews:

Options -MultiViews

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有