2011-05-26 118 views
0

我有一些問題與URL重寫Apache和重寫URL問題

我需要trasform該網址

News/?a=shownews&id=53 

index.php?m=News&a=shownews&id=53 

我試圖使它:

RewriteRule ^([A-Za-z0-9_]+)/\?(.+?)$ index.php?m=$1&$2 [R] 

但它沒有工作,可以做你h elp我來解決它?

回答

0

編輯:? 我收回這句話 - 顯然這是可能做到這一點,你的情況

RewriteRule ^(.+)/$ index.php?m=$1 [QSA] 
+0

是剛做完 RewriteRule ^([A-Za-z0-9 _] +)/?$ index.php?m = $ 1 [QSA] 我看到了你的回覆thx – oscurodrago 2011-05-26 22:37:39

0

Apache無法使用$ _GET參數來構建新的URL;你將不得不改變URL的結構。

+0

哦哦,我不想使用$ _GET我只是想拆分 新聞/ A = shownews&ID = 53 轉換成 $ 1 =新聞 $ 2 = a = shownews&id = 53 將它們組合成index.php?m = News&a = shownews&id = 53 – oscurodrago 2011-05-26 22:08:36

+0

那麼你的網址中有什麼問號? – MatTheCat 2011-05-26 22:10:14

0

從Apache的文件:

默認情況下,查詢字符串加改變地通過 。但是,您可以在包含查詢字符串部分的替換字符串 中創建URL。只需在 內使用 替代字符串中的問號表示 以下文字應該是 重新注入到查詢字符串中。 如果要刪除現有的 查詢字符串,請使用問號結束替換 字符串。至 結合新舊查詢字符串,請使用[QSA]標誌 。

使用[QSA]標誌,您可以重新綁定您的URL,並且現有查詢字符串參數將被追加或傳遞。

希望這會有所幫助。