2010-05-28 93 views
1

我在我的智慧結束在這裏,我通常喜歡在我自己的工作,但這讓我很好,真正毆打在這裏.. 我想改寫我的網址包含加號...國防部重寫網址

/search.php?q=can+be+any+length

/can-be-any-length.html

任何幫助將是非常讚賞因爲重寫+ php不是一個選項

回答

2

使用mod_rewrite進行這類工作並不是最好的選擇,因爲您只能在一次替換固定數量的字符。使用PHP肯定會更容易。

但是你可以使用"N" (Next)標記可以重新更換,導致重寫引擎循環,同時還有在查詢字符串是一個「+」:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)q=([^&+]*)\+([^&+]*\+.*) 
RewriteRule^%{REQUEST_URI}?%1q=%3-%4 [N] 
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)q=([^&+]*)\+([^&+]*)&*(.*)$ 
RewriteRule^/%3-%4.html?%1%5 [L,R=301] 
+0

謝謝哥們工作了一個治療:) – Webby 2010-05-28 13:41:39

1
與RewriteMap指令

可能:

RewriteMap mymap txt:/path/to/file.txt 
RewriteRule ^(.*).html$ search.php?q=${mymap:$1} 

文件內容/path/to/file.txt

- + 
+0

做爲你工作?據我所知,只定義了五種不同的地圖類型:'txt','rnd','dbm','int'和'prg'。 – Gumbo 2010-05-28 14:19:50

+0

你說得對,我寫得很快,對不起。修復 – 2010-05-28 14:29:12