我正在使用WampServer构建一个本地开发的网站,我目前的结构如下:
/css/
/js/
/pictures/
index.php
blog.php
games.php
.htaccess
一切正常,直到我创建了一个名为" / blog"的文件夹。这立即打破了我的blog.php页面。现在我已经删除了文件夹,重新启动了WampServer并重新启动了我的整台计算机,但错误仍然存在。出于某种原因,当我访问mysite / blog时,它会重定向到mysite / blog /并返回内部服务器错误。游戏页面没有这样的问题。如果我将blog.php重命名为myblog.php,问题就解决了,所以它只与文件名相关。
那么删除文件还不够吗?我需要以某种方式刷新WampServer吗?
如果重要,这是我的.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
由于
答案 0 :(得分:2)
问题在于htaccess文件和您选择的命名约定。
这一行特别是
RewriteCond %{REQUEST_FILENAME} !-d
如果文件不是目录,请使用重写。在/ blog的情况下,条件不满足并且htaccess没有拉blog.php,因为/ blog IS实际上是一个目录。删除文件夹应该足以解决它,但说实话,这是在寻找麻烦。为什么不去blog.php?
答案 1 :(得分:1)
你仍然可以同时拥有相同名称的文件和文件夹(给定你当前的.htaccess),你只需要访问blog.php,转到mysite / blog.php
答案 2 :(得分:1)
试一试。你应该改变多视图,这样它就不会尝试模式匹配并做一些奇怪的事情。确保在更新.htaccess后清除浏览器缓存。
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]