.htaccess代码:
RewriteEngine on
RewriteRule ^articles/([-a-z]+)\.html$ articles/article.php?slug=$1 [L]
我有一个文件夹[文章],其中包含两个页面:
index.php和 article.php
第一页显示文章列表,第二页实际使用参数[slug]从数据库中提取实际文章并显示它。
site.com/articles/this-is-an-article-title.html
site.com/articles/article.php?slug=this-is-an-article-title
代码工作正常,但问题是我无法看到index.php上的文章列表,而且它错误地通过了RewriteRule。
如何阻止此事?
答案 0 :(得分:0)
在请求/articles/index.html
目录时,您的RewriteRule可能会获取隐式articles/
。
禁用每个:
DirectoryIndex index.php
或编写自定义RewriteRule以防止任何自动映射:
RewriteRule ^articles/*$ articles/index.php [L]
也可以选择停用Options -MultiViews
(这可能不是你的问题。但如果没有RewriteLog / access.log摘录,很难说。)