我想知道如何生成以下域名.Website.com /
我的.website.com正在使用
RewriteCond %{HTTP_HOST} !www\.
RewriteCond %{HTTP_HOST} (.*)\.website\.com
RewriteRule .* viewuser.php?username=%1 [L]
但是当我尝试在重写结束时添加其他参数(所以我可以使用_GET)它不起作用
答案 0 :(得分:0)
最好不要在重写规则中将查询字符串参数添加到URL,而是让PHP解析URL并处理这种特殊或一般情况。通常这会实现一些重要的业务规则或技术规则来支持功能,而重写规则并不是放置它们的最佳位置 - 尽管您可以使用正则表达式,但使用它们制定花哨的规则往往会变得难以理解。它是第二个寻找代码和行为的地方。
但是,如果要在RewriteRule
内添加查询字符串部分以及查询中已存在的部分,则必须添加QSA
标志,因此最后一行将是< / p>
RewriteRule .* viewuser.php?username=%1 [L,QSA]
答案 1 :(得分:0)
您可能正在寻找QSA(QueryString Append)参数。它将旧查询字符串附加到新URL(?id = ...→?username = ...&amp; id = ...)
您只需将[L]
替换为[L,QSA]
即可将其添加到参数中。
有关其工作原理的更多信息,请参阅http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_qsa
上的Apache文档