2014-01-06 31 views
0

你好,我有一個動態的PHP網站,時間變量存儲在URL中,我不希望他們被看到。如原始地址:http://www.mysite.com/root_new/news.php?id_new=9現在我想這個網址更改爲http://www.mysite.com/root_new/news.htaccess Rewritte Url

我initly試圖用純PHP來實現這一點,但做了一些研究和對面做實現這一目標是最好的方式來通過.htacces這是一個配置文件控制Apatche服務器反正....

我不是在這個非常好,但管理裏面把一個代碼my.htaccess,我相信應該做的伎倆,但它不會

的.htaccess代碼:

RewriteEngine on
 



RewriteRule ^news/([^/.]+)/?$ news.php?id_new=$1 [L] 

當然這個文件是在我的根目錄index.php和其餘的頁面。

有人可能會提出一個解決方案,我試圖實現或告訴我我的錯誤與我的.htaccess命令。

+0

'onRewriteRule'應該是'RewriteRule' – miah

+0

對不起,我該如何粘貼代碼錯誤罰款它現在 – Tomazi

回答

0
RewriteEngine On 
RewriteRule .... 

現在的問題是,如果你需要的值「9」傳遞給id_new,它要麼是在原來SEO格式的URI,或者你必須有一個硬編碼重寫,包括它。它不會出現在空氣中。

RewriteEngine On 
RewriteRule ^news/([^/.]+)/?$ news.php?id_new=$1 

將工作,如果傳入的URI是/news/9/(最後/是可選的)。雖然比動態版更容易輸入,但用戶仍需記住「9」。它也會嘗試將你發送到任何目錄中的「news.php」,而不是/ news.php(確保這是你想要做的)。

您不需要[L],因爲您沒有RewriteCond子句。請注意,由於您提供了查詢字符串,原始URI中的任何傳入查詢字符串都將被丟棄(除非添加了[QSA]標誌)。

+0

Thx爲您的答案,現在當然9不會形成空氣,它是一個ID號碼文章存儲在數據庫中,正如我所提到的,我從來沒有這樣做過,我從不擔心我的網址是否清晰,但是因爲我發佈了它對搜索引擎優化的重要性,這是我對網站的要求,我正在嘗試對此進行分類,請問您也許給我一個鏈接,我可以在這裏很好地解釋這個地方。謝謝 – Tomazi