我遇到了一个非常奇怪的事情。我最近在.htaccess文件中添加了以下行:
ErrorDocument 404 /404.php
这是文件中的唯一行。
我有一个php函数,当用户访问网站时,会记录$ _SERVER ['SCRIPT_NAME']的值,以便跟踪他们在网站上访问的条目网址和路径。 在添加.htaccess行之前,$ _SERVER ['SCRIPT_NAME']的值一直都是正确的。现在,当用户访问该站点时,它将404.php显示为$ _SERVER ['SCRIPT_NAME']的值。当他们转到另一个页面时,页面名称在$ _SERVER ['SCRIPT_NAME']中第一次正确,但随后将该值替换为404.php。
任何想法会导致什么?
答案 0 :(得分:0)
显然在hostgator.com上,他们的服务器默认404页面设置为404.shtml。
因此,为了解决这个问题,我将以下内容添加到我的.htaccess文件中:
RewriteEngine on
RewriteRule ^(.*)\.shtml$ $1.php