2013-05-03 96 views
0

我怎麼能這個網址htaccess的重寫的動態網址

http://www.example.com/index.php?test=<some dynamic data>

改寫爲

http://www.example.com/<some dynamic data> 

我已經試過

RewriteEngine on 
RewriteRule index.php?test=(\w+)?$ $1 

雖然這是行不通的。

這怎麼辦?是否仍然有可能例如echo $_GET['test']與重寫的URL(或任何與查詢)?

+1

「重命名」的概念並沒有對此作出任何意義。 mod_rewrite的是在兩件事情,客戶端(瀏覽器)誰是解析URL作爲資源的位置,這需要一個請求的資源,並將其映射到實際資源的服務器中間。這兩件事情是不同的。 Mod_rewrite只能在服務器嘗試將其映射到資源之前,採取客戶端請求並處理的內容。你想做什麼? – 2013-05-03 22:26:22

+0

我試圖刪除index.php?test = – Sidetik 2013-05-03 22:32:29

回答

1

如果在瀏覽器中輸入的網址是動態的:

http://www.example.com/<some dynamic data> 

,你試圖把它改寫本,爲您的代碼:

http://www.example.com/index.php?test=<some dynamic data> 

那麼試試這個:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !index.php 
RewriteRule ^(.*)$ index.php?test=$1 [NC,L] 

最後一行接受任何內容,並將其發送到帶有測試參數的index.php。 RewriteCond確保它不會使用index.php本身執行此操作,否則將會是無限循環。

如果你正在嘗試走另外一條路,和你的代碼中創建動態URL顯示在您的網站,那麼這是別的地方在你的網站代碼,無論你正在創建你的HTML。一旦創建,這個規則將重寫它們回到index.php。