2013-04-23 22 views
0

我需要幫助我重寫從lighthttpd到apache httpd的規則。雖然我以前從未使用lighthttpd。我希望有人能幫我重寫這段代碼。即使在Apache中,我也有點厭倦了Rule系統,但並沒有那麼糟糕。RewriteRule轉換

"^install/?$" => "install.php", 

"^/doc/([a-z]+)/?$" => "doc.php?cat=$1", 
"^/~([a-z.]+)/doc/([a-z]+)/?$" => "doc.php?project=$1&cat=$2", 

"^/~([a-z.]+)/?$" => "index.php?project=$1", 
"^/~([a-z.]+)/api/([a-z]+)/?$" => "index.php?project=$1&mode=$2", 

"^/all/?$" => "list.php", 
"^/api/([a-z]+)/all/?$" => "list.php?mode=$1", 
"^/~([a-z.]+)/all/?$" => "list.php?project=$1", 
"^/~([a-z.]+)/api/([a-z]+)/all/?$" => "list.php?project=$1&mode=$2", 
"^/rss/?$" => "list.php?rss=1", 
"^/~([a-z.]+)/rss/?$" => "list.php?project=$1&rss=1", 
"^/all/([0-9]+)/?$" => "list.php?page=$1", 
"^/api/([a-z]+)/all/([0-9]+)/?$" => "list.php?mode=$1&page=$2", 
"^/~([a-z.]+)/all/([0-9]+)/?$" => "list.php?project=$1&page=$2", 
"^/~([a-z.]+)/api/([a-z]+)/all/([0-9]+)/?$" => "list.php?project=$1&mode=$2&page=$3", 

"^/([0-9]+)/?$" => "show.php?id=$1", 
"^/~([a-z.]+)/([0-9]+)/?$" => "show.php?project=$1&id=$2", 
"^/([0-9]+)/([a-z|A-Z]+)/?$" => "show.php?id=$1&mode=$2", 
"^/~([a-z.]+)/([0-9]+)/([a-z|A-Z]+)/?$" => "show.php?project=$1&id=$2&mode=$3", 
"^/api/([a-z|A-Z]+)/([0-9]+)/?$" => "show.php?mode=$1&id=$2", 
"^/~([a-z.]+)/api/([a-z|A-Z]+)/([0-9]+)/?$" => "show.php?project=$1&mode=$2&id=$3", 
"^/([0-9]+)/([0-9]+)/?$" => "show.php?id=$1&hash=$2", 
"^/~([a-z.]+)/([0-9]+)/([0-9]+)/?$" => "show.php?project=$1&id=$2&hash=$3", 
"^/([0-9]+)/([0-9]+)/([a-z|A-Z]+)/?$" =/> "show.php?id=$1&hash=$2&mode=$3", 
"^/~([a-z.]+)/([0-9]+)/([0-9]+)/([a-z|A-Z]+)/?$" => "show.php?project=$1&id=$2&hash=$3&mode=$4", 
"^/api/([a-z|A-Z]+)/([0-9]+)/([0-9]+)/?$" => "show.php?mode=$1&id=$2&hash=$3", 
"^/~([a-z.]+)/api/([a-z|A-Z]+)/([0-9]+)/([0-9]+)/?$" => "show.php?project=$1&mode=$2&id=$3&hash=$4", 
"^/api/([a-z|A-Z]+)/([0-9]+)/([0-9]+)/(.*)$" => "show.php?mode=$1&id=$2&hash=$3&password=$4", 
"^/~([a-z.]+)/api/([a-z|A-Z]+)/([0-9]+)/([0-9]+)/(.*)$" => "show.php?project=$1&mode=$2&id=$3&hash=$4&password=$5" 

,我轉換的唯一的事情就是第一行

RewriteRule ^install/.* install.php 
+0

是我所熟悉的正則表達式 – KeiKun 2013-04-23 10:13:27

+0

雖然我從來沒有使用正則表達式與重寫規則。我也不是lighthttpd用戶。所以我有點困惑他們如何寫他們的。 url重寫 – KeiKun 2013-04-23 10:14:47

回答

0

所以

"^install/?$" => "install.php" 

變成

RewriteRule ^install/?$ install.php [L] 

"^/doc/([a-z]+)/?$" => "doc.php?cat=$1" 

變成

RewriteRule ^doc/([a-z]+)/?$ doc.php?cat=$1 [L] 

"^/~([a-z.]+)/doc/([a-z]+)/?$" => "doc.php?project=$1&cat=$2", 

變成

RewriteRule ^~([a-z.]+)/doc/([a-z]+)/?$ doc.php?project=$1&cat=$2 [L] 

"^/~([a-z.]+)/?$" => "index.php?project=$1", 

變成

RewriteRule ^~([a-z.]+)/?$ index.php?project=$1 [L] 

+0

imma試試這個。它可能需要一段時間 – KeiKun 2013-04-23 10:56:57

+0

我認爲第二個'RewriteRule'中存在拼寫錯誤(請參見引號)。 – cyroxx 2013-04-23 11:09:30

+0

不好意思。我試圖遵循你所做的,但是。有些沒有工作 這是沒有工作的列表。你能給我一些這樣的格式嗎? http://pastebin.com/cbgV0Lc7 – KeiKun 2013-04-23 11:58:06