2013-11-03 73 views
2

我已經爲我的網站上的網址重寫設置了一些規則。

其實我在本地主機上

我已經設置此在.htaccess

php_flag output_buffering on 
Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^p/([^/]*)\.html$ /?p=$1 [L] 

Actualy URL重寫不工作(我在阿迪對CSS的頭部基本href,JS和lib PHP

我遇到的麻煩是,它不會返回$ _GET PARAM。

我寫了一個功能,包括在我的文檔的主框架的頁面,所以我們有個是

function includePage(){ 
    if(isset($_GET['p'])){ 
     $page = mysql_real_escape_string($_GET['p']); 
     if(file_exists('p/'.$page.'.phtml')){ 
      include('p/'.$page.'.phtml'); 
     }else{ 
      include('p/404.phtml'); 
     } 
    }else{ 
     include('p/accueil.phtml'); 
    } 
} 

實際上它不起作用它每次在其他情況下都會返回給我。

我試圖做一個var_dump($_GET['p'])返回給我一個未定義的變種

的URL看起來是這樣的:

的index.php/P /變賣所以帕拉姆$ _GET [ 'P']在這種情況下應該等於'實現',但實際上它不起作用。

我不知道我錯在哪裏。我做了一些沒有成功的研究。

anykind的幫助將不勝感激。

+0

你嘗試什麼URL來測試它? – anubhava

+0

index.php/p /我的本地主機上的實現 – user2506760

+1

最好的轉義URL不是'mysql_real_escape_string()',它是['urlencode()'](http://php.net/manual/en/function.urlencode .php)(名字全稱)。 –

回答

1

試試這個規則:

RewriteEngine On 
RewriteRule ^index\.php/p/([^/.]+)(\.html)?$ ?p=$1 [L,NC,QSA] 
+0

它返回給我一個顯示服務器配置的文件 – user2506760

+0

嘗試:'RewriteRule^index \ .php/p /([^ /。] +)( \ .html)?$?p = $ 1 [L,NC,QSA]' – anubhava

+0

現在它工作正常,謝謝。什麼如果我想添加一個額外的參數到網址?我該怎麼做 ? – user2506760