我想了解.htaccess重定向如何工作。.htaccess重定向如何工作?
例如說,我的用戶導航到:
www.website.com/users/bob
我如何可以重定向用戶:
WWW。 website.com/users.php?user=bob
我想了解.htaccess重定向如何工作。.htaccess重定向如何工作?
例如說,我的用戶導航到:
www.website.com/users/bob
我如何可以重定向用戶:
WWW。 website.com/users.php?user=bob
您的.htaccess將lo好吧,像這樣:
# turn on the engine
RewriteEngine On
RewriteRule ^users/(.*)$ /users.php?user=$1
# Pattern:
#^ = start of URL (.htaccess doesn't get the leading "/")
# users/ = your path
# (.*) = capture any character, any number of times
# $ = end of string
# Result:
# /users.php?user= = your path
# $1 = the first group captured in the pattern
你應該也可以提到上面的RewriteBase。 – 2009-08-12 08:32:33
現在$ 1 ...如果我想在這裏添加第二條規則,而不是website.com/users/bob,它將是website.com/show/whatever,並將其重定向到website.com/show.php。 ?ID =什麼的。我是否會簡單地複製該行,更改具體內容,並在最後放置2美元? – mrpatg 2009-08-12 08:33:22
不,您仍然使用$ 1 - 這是相關規則中的組。例如你可以有/ users/bob/bobbinson,匹配/users/([^/]*)/(.*)$然後$ 1是bob,$ 2是bobbinson – Greg 2009-08-12 08:43:12
我建議您閱讀technical details of mod_rewrite。你可以很好地瞭解內部處理。
爲了您的具體的例子,一個合適的規則可能是這樣的:
RewriteRule ^users/([a-z]+)$ users.php?user=$1
現在,當被請求/users/bob
,mod_rewrite的將:
/
如果.htaccess文件位於文檔根目錄中)users/bob
),直到匹配
RewriteCond
指示他們,將被測試過$
n
和%
n
) ,如果模式匹配且條件評估爲真/
)或絕對URL(以URL方案開頭)
在這裏和在serverfault.com上有這樣的問題無窮無盡的流。這個怎麼樣,例如:http://stackoverflow.com/questions/1249368/mod-rewrite-beginner-questions – innaM 2009-08-12 09:09:31