今天早上,我正在对我的 .htaccess 文件进行更改,无意中破坏了我网站上的某些内容,我终其一生都无法弄清楚自己做了什么。现在浏览器提示下载 php 文件而不是被渲染。
在我进行更改之前,该站点运行正常。我尝试恢复到文件和 .htaccess 的原始备份副本,但我仍然遇到同样的问题。
我遇到问题的网站是http://asteroidsinc.com/
但是,当我从 /index.php URL 访问时,它似乎运行正常。
标题如下:
GET / HTTP/1.1
Host: asteroidsinc.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cookie: __utma=79720583.1041020739.1336336641.1336336641.1336336641.1; __utmb=79720583.3.10.1336336641; __utmc=79720583; __utmz=79720583.1336336641.1.1.utmcsr= (direct)|utmccn=(direct)|utmcmd=(none); __atuvc=2|19
HTTP/1.1 200 OK
Date: Sun, 06 May 2012 20:44:00 GMT
Server: Apache
Last-Modified: Thu, 03 May 2012 10:32:07 GMT
Accept-Ranges: bytes
Content-Length: 13811
Age: 6521
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/x-httpd-php
最后一行“Content-Type: application/x-httpd-php”特别值得关注,因为我很确定它应该是“text/html”。
原始 .htaccess 文件如下(只需将 www 重定向到非 www)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.asteroidsinc\.com$
RewriteRule ^(.*)$ "http\:\/\/asteroidsinc\.com\/$1" [R=301,L]
我试图将以下内容添加到我的 .htaccess 文件中,但没有成功。
DirectoryIndex index.php
但这并不能解决问题。
我还尝试了以下行
AddType application/x-httpd-php .php
但我认为 php 实际上被正确解析,因为它在尝试通过 /index.php URL 访问它时工作
如上所述,我不确定我到底改变了什么,并尝试恢复到原始副本,但问题仍然存在。
* *编辑我现在想知道问题是否是某种缓存问题,因为我完全删除了提示下载的 index.php 文件,但是当我尝试访问域 URL 时,它仍然提示我下载文件虽然它已从 Web 服务器中完全删除(我对缓存几乎一无所知)
* *再次编辑我注意到的另一件有趣的事情是,当我在我的 URL 的末尾附加一个随机字符串(即http://asteroidsinc.com/?random=1923849839)时,它会加载得很好。这是否意味着这是一个缓存问题?当缓存最终被清除时它会消失吗?