我想了解.htaccess如何重定向工作。
比方说,我的用户导航到:
www.website.com/users/bob
如何将该用户重定向到:
www.website.com/users.php?user=bob
答案 0 :(得分:3)
你的.htaccess看起来像这样:
# 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
答案 1 :(得分:0)
我建议你阅读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方案开头),则