2012-06-02 36 views
0

因此,我從數據庫中提取事件,如/event-detail.php?id=1,但我希望它看起來像/ Event-Name /。我如何實現這一目標?我知道一些關於Apache重寫的mod,但不知道它是否可以在這裏工作。或者我接近這個錯誤?我需要用名稱來拉項目嗎? /event-detail.php?name=Event Name?即使看起來好像容易得多,我也不想那樣做。如何更改PHP URL與搜索引擎友好的Apache網址?

+0

你的mod_rewrite問題是什麼,具體是什麼?你有什麼嘗試? – Brad

+0

我的問題是,如果可以將/event-detail.php?id=1轉換爲/ Event-Name /?我假設沒有,因爲阿帕奇永遠不會知道id 1的名字是什麼,但只是確認。我想我很感興趣的是這些東西通常是如何完成的。很難想出如何將其轉化爲文字來尋找它。 – zen

+1

Apache不關心,或需要知道你的事件的名稱。這取決於PHP中的腳本來處理輸入。可以將Apache配置爲將假目錄作爲參數傳遞。請參閱下面的帖子的答案。 – Brad

回答

2

這將是非常困難,使其工作,否則(我認爲)。

試試這個(寫這個服務器的conf或的.htaccess):

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{SCRIPT_FILENAME} !-d 
    RewriteCond %{SCRIPT_FILENAME} !-f 
    RewriteRule ^(.*)$ event-detail.php?name=$1 [QSA,L] 
</IfModule> 

這將重寫URL轉發的一切比現有的文件和目錄event-detail.php腳本人。

位的詳細信息,如果將被改寫爲event-detail.php?name=myShowEvent1,或者這將是與調用event-detail.php?name=event/25366273用戶呼叫的/event/25366273(如果他們這樣做,是不是存在於服務器)用戶呼叫的/myShowEvent1

+0

好的交易,這是一個很好的起點。我現在瞭解更多。謝謝! – zen

0

但記住你在頁面上的所有鏈接必須絕對不是相對的。

只要嘗試自己,你就會知道我在說什麼。