2014-12-28 70 views
0

我有一個問題,我的URL重寫讓我告訴你,我的代碼是: 的index.php:Url重寫打破了我包括

include 'header.php'; 

if(!isset($_GET['page']) or !file_exists($_GET['page'] . '.php') { 
    include_once 'home.php'; 
} else { 
    include_once $_GET['page'] . '.php'; 
} 

include 'footer.php'; 

這裏的代碼工作良好,/index.php?page=測試 但我重寫URL

RewriteRule ^page/(.*)$ index.php?page=$1 [QSA,L] 

這裏的代碼不與網址/網頁/測試工作,但問題是,他只包含test.php的我的頁眉和頁腳是不包括在內,我不知道爲什麼...

+0

我知道這無關你的問題,但你的代碼有嚴重的安全問題,你需要驗證'page'沒有或'..'它裏面反斜線 –

+0

啊是啊,我已經做到了,我沒有複製過去我的代碼,他有更多的細節,只是寫在這裏,以示例 – svartholm

回答

0

聽起來像絕對/相對URL問題。當您轉到/page/XXXX網址時,您已將相關網址從/更改爲/page/,因此您需要更改所有鏈接,以便它們是絕對網址或在網頁標題中包含相對網址:

<base href="/" /> 
+0

我有多少白癡...感謝那是一個小錯誤:p – svartholm