0

所以这就是我的 htaccess clean url 代码的样子:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond  %{QUERY_STRING} !^myvar=0
RewriteCond %{REQUEST_URI} !\..*$
RewriteRule ^([^/]*)/?$ /$1.php?myvar=0 [QSA,L]

此 htaccess 代码允许根目录上的文件使用 .php、斜杠或不使用任何内容。所以 blah.com/blah.php 有效 blah.com/blah 有效 blah.com/blah/ 有效

但是,如果我的根目录中有一个文件夹,比如名称是“news”,那么根目录上的文件“news”就不能采用干净的 url。所以 blah.com/news.php 有效,但 blah.com/news 和 blah.com/news/ 都无效。

出于某种原因,文件夹中的文件必须具有文件扩展名 (.php),因此 blah.com/news/obama.php 可以工作 blah.com/news/obama 和 blah.com/news/obama/ 都不起作用。

.htaccess 代码有什么问题,我该如何纠正?

tl;dr 是否有一个 htaccess 代码可以使它如此 .php 工作,尾部斜杠工作,并且没有尾部斜杠工作?我对htaccess一无所知。

另外:我昨天发布了同样的问题,但没有得到答复。不知道为什么。如果有什么令人困惑的地方,我会尝试清除它。谢谢!

4

1 回答 1

0

也许

RewriteBase /
RewriteRule ^(.*)(?=\.php/?)?$ /$1.php?myvar=0 [QSA,L]

有帮助。在这种情况下,您的日志文件非常好。

于 2011-06-26T21:11:31.800 回答