2016-04-14 22 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

相關問題