2012-12-18 68 views
0

我有一個文件夾,並在該文件夾中的htaccess文件的網站。對於該文件夾中的index.php文件,我想重寫這個URL一定參數查詢字符串,使打字:htaccess - 重寫網址,使查詢字符串不錯

www.example.com/myfolder/myparameter 

的行爲是這樣的(即讓$_GET['parameter'] = 'myparameter'在我的代碼)

www.example.com/myfolder/index.php?parameter=myparameter 

我已經看過StackOverflow上的很多問題,但還沒有設法得到這個工作。我的代碼到目前爲止是

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^(.*) [NC] 
RewriteRule ^$ %0 [QSA] 

但這根本不起作用。

回答

1

請使用此代碼

RewriteEngine on 
RewriteRule (.*) index\.php?parameter=$1 [L,QSA] 
+0

非常感謝,這個工程。但是,腳本,樣式表和圖片不再有效。這些網址的網址爲www.example.com/myfolder/_images/image.png,www.example.com/myfolder/_scripts/script.js。你能幫我解決這些問題嗎? – Will

+0

請使用此 RewriteRule!\。(js | gif | jpg | png | css | txt | eot | woff | ttf)$ - [L] – somasundaram

0
RewriteEngine on 
RewriteRule (^.*/)([^/]+)$ $1index\.php?parameter=$2 [L,QSA] 

更新
對不起使用@ somasundaram的答案。每目錄的.htaccess重寫規則失去目錄前綴:

當使用.htaccess中的重寫引擎文件的每個目錄前綴(始終是爲特定的目錄相同)的重寫規則模式將被自動刪除匹配並在任何相對(不以斜槓或協議名稱開頭)替換遇到規則集結束後自動添加。有關哪些前綴將添加回相關替換的更多信息,請參閱RewriteBase指令。

(從apache docs

+0

這似乎不起作用,給出「未找到頁面」 – Will

+0

@請參閱我的更新。正如你所發現的,somasundaram的答案是要走的路! – foundry