我不确定为什么会这样,但index.html感觉“正确”#39;我正在使用index.php,因为如果我的登录失败,我想返回index.php并在初始登录页面中显示返回的错误,就像这样......
<?php
if(isset($_GET["loginFailed"])) {
echo ($_GET['reason']);
}
?>
有点修剪,但原因是&#39;将被php解密并显示用户友好的错误。
我的登录错误只是从我的登录错误中返回的。像...这样的东西。
if($row === false) {
die(header("location:index.php?loginFailed=true&reason=usernamenotfound"));
}
这一切都运行正常,但我必须保持索引名为index.php而不是index.html。如果我将其更改为index.html,则只会忽略php部分。
我的方法有什么问题吗?是不安全还是其他什么?
答案 0 :(得分:3)
使用index.php
代替index.html
没问题。它不会影响搜索引擎排名 - 所以你想要改变它的唯一原因是美学。
如果您想使用index.html
代替index.php
,有两种选择:
首先,您可以使用.htaccess重写扩展名。将以下行添加到.htaccess中,他们会将.html页面的所有请求重新映射到.php页面而不更改URL。
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