2016-04-14 57 views
1

我不知道它为什么应该是,但index.html感觉“正确”。我使用的index.php,因为如果我的登录失败,我要在初始登录页面返回的index.php,并显示返回的错误上,像这样...使用index.php代替index.html是不好的做法吗?

<?php 
    if(isset($_GET["loginFailed"])) { 
     echo ($_GET['reason']); 
    } 
?> 

这是一个修整但是'理由'将被php解密并显示一个用户友好的错误。

登录错误只是从我喜欢的东西“的login.php”回来..

if($row === false) { 
    die(header("location:index.php?loginFailed=true&reason=usernamenotfound")); 
} 

这一切工作正常,但我必须保持命名为index.php文件,而不是指数的指数。 HTML。如果我将其更改为index.html,则只会忽略php部分。

我的方法有什么问题吗?它不安全还是什么?

+2

没有错'index.php' – Daan

+5

提斯非常标准使用PHP开发时使用index.php。尽管现在大多数网站都会重写url,所以你不需要/看到index.php或index.html。 –

+0

很酷。我会查找什么网址重写,但随时告诉我在这里:)如果你没有看到我认为的url中的'index.php'会很好。 – Farflame

回答

2

使用index.php而不是index.html没有问题。它不影响搜索引擎排名 - 所以你想改变它的唯一原因是美学。

如果你想使用index.html代替index.php,有两种选择:

首先,你可以使用.htaccess文件改写扩展。将下列行添加到.htaccess中,并且它们会将.html页面的所有请求重新映射到没有更改URL的.php页面。

RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.php [nc] 

其次,您可以允许PHP解释器解析.html文件。要做到这一点,添加以下行一个到你的.htaccess(不同的主机有不同的语法,对于大多数共享主机的首款作品)

AddHandler application/x-httpd-php5 .html .htm 

AddType application/x-httpd-php .html .htm 

AddHandler application/x-httpd-php .html .htm 
+0

谢谢,不妨使用index.php,因为它简单得多。当它返回一个错误时,url看起来有点乱,但index.html也是这样,例如它返回类似于index.php的东西?loginFailed = true&reason = usernamenotfound。但如果这不是问题,这不是一个问题:) – Farflame

+1

@Farflame你可以使用会话()和网址看起来“很好”。基本上你设置了一个变量,即使用户改变页面也是有效的,或者返回到index.php – Andreas

+0

嗯,是的,session(),我之前用过这个东西,所以不应该太难。我会看看,谢谢:) – Farflame

相关问题