我在使用Index.php加载主页时获得404,但index.php适用于直接链接,为什么?

时间:2015-07-27 16:45:00

标签: php html apache

我似乎无法理解为什么我的 babyMilestones 突然拒绝直接加载,即:Homepage但只有在您输入www.mysite.com/时加载

这是网站:

比较

  

www.mysite.com/index.php

鉴于

  

http://www.propasiarealty.com // Sends you to the 404 page

无法确切地知道出了什么问题,请帮助。

Bellow是 Filezilla 屏幕截图:

enter image description here

编辑01

请参阅我的HTACCESS ...快照 enter image description here

更新02  我修改了HTACCESS仍然没有成功,现在看起来像:

http://www.propasiarealty.com/index.php  // Loads the homepage.

但仍然没有工作

更新03 [已成功]

@HPierce 建议的解决方案是将HTACCESS修改为类似于下面的内容:

DirectoryIndex index.php

#ErrorDocument 400     /400.html

#ErrorDocument 401     /401.html 

ErrorDocument 403     /errs/404.php

ErrorDocument 404     /errs/404.php

#ErrorDocument 500     /500.html

Options -Indexes

1 个答案:

答案 0 :(得分:4)

在.htaccess文件中为DirectoryIndex添加新声明。

DirectoryIndex index.php

使用Apache时,默认DirectoryIndex将设置为 index.html ,这与您要提供的 index.php 页面不同。< / p>

或者,您可能希望将这两个文件指定为DirectoryIndex

DirectoryIndex index.html index.php

如果 index.html 不可用,则首先检查 index.html 然后 index.php 。这可能是更好的解决方案,因为更改默认设置可能会使其他任何必须在您的网站上工作的人感到困惑。

关于mod_dir的Apache文档:http://httpd.apache.org/docs/2.4/mod/mod_dir.html

如果这不起作用,您可以考虑添加重写规则 - 尽管不建议这样做。重写规则会中断传入的HTTP请求并对其进行重新设置以匹配服务器的设置方式。

RewriteEngine on 
RewriteRule ^$ index.php

此重写规则仅匹配http://www.propasiarealty.com的请求且不匹配 http://www.propasiarealty.com/

使用重写规则需要安装mod_rewrite - 更多信息http://httpd.apache.org/docs/current/mod/mod_rewrite.html