2012-12-18 173 views
0

我試圖做一個查詢字符串重寫查詢字符串的.htaccess

http://www.example.com/library.php?q=abscessed-tooth 

的一個非常簡單的重寫

http://www.example.com/library/abscessed-tooth 

這是我寫在我的代碼。 htaccess文件,它是無所事事

RewriteEngine On 
RewriteRule ^/library/?([^/]*)/?\/http://www.example.com/library.php?q=$1 [L] 
+0

什麼是重寫後產生的網址是什麼?還是根本不重寫?請更確切地說明你的問題到底是什麼。 – thomaux

+0

因此不能重寫所有..這是我已經寫在我的htaccess文件 RewriteEngine敘述在 重寫規則^庫/([^ /] *)http://173.192.186.220/~newmedia/dev/ allsmile/library.php?q = $ 1 [L] –

回答

0

你需要美元符號「左」部分的結束不是問號:

^/library/([^/]*)/$ http://www.example.com/library.php?q=$1 [L] 

您還需要/和(?)之間的問號嗎?它看起來不像前視或後視?

嘗試不包裝斜線以及

^library/([^/]*)$ http://www.example.com/library.php?q=$1 [L] 
+0

Acutally我在我們的演示服務器上試用它,並沒有在那裏工作。我想可能是域可能是一個問題。 http://173.192.186.220/~newmedia/dev/allsmile/library.php?q=abscessed-tooth –

+0

你必須斜槓添加到您的內部文件,CSS,JS和圖像,例如: /sbtemplates /1072/css/layout.css – Moseleyi

+0

我必須在文件之前提供絕對路徑名嗎? –

1

也許可能.htaccess文件不是在您的環境考慮。如果有疑問,請按照重寫模塊出色文檔中的說明打開RewriteLogging。

哦,並檢查錯誤日誌,你有一個語法錯誤在重寫規則反正:RewriteRule需要兩個參數加上標誌,你的規則只有一個參數:

RewriteEngine On 
RewriteRule ^library/([^/]*) http://www.example.com/library.php?q=$1 [L]