【发布时间】:2017-01-21 05:33:10
【问题描述】:
我的 .htaccess 进行了重写,从 URL 中删除了 .php,因此:
http://example.com/page.php 更改为 http://example.com/page
这多年来一直运行良好,直到我需要更改文件名。现在正在发生这种情况:
http://example.com/newpage 更改为 http://example.com/newpage/ 并引发 403 错误。
这是适用于其他所有内容的重写:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
我确定这是某种类型的缓存问题,Apache 默认添加了斜杠,但我不知道缓存发生在哪里,我不想关闭 Apache 的斜杠以确保安全原因(另外,我不需要)。
因为你会问:
我正在使用带有 Centos 5 的 cPanel VPS。Apache 2.2 和 PHP 5.4。
cPanel 似乎没有办法清除 Apache 缓存。 htcacheclean 不存在,我不想安装它,以防它用 cPanel 搞砸了。
是的,我已被浏览器缓存清除。尝试了新的浏览器。试了新电脑。
文件名正确。如果我将 URL 更改为 http://example.com/newpage.php 它工作正常。
我进行初始更改已经四个小时了。
尝试重新启动服务器。
有什么想法吗?
【问题讨论】:
-
没有同名文件夹?
-
$%@$$% 的儿子!是的!这就是问题所在。我不确定是谁把那个文件夹放在那里的,但它甚至什么都没有。非常感谢!
-
不客气,很高兴能帮上一点忙。
标签: apache .htaccess mod-rewrite caching