我需要使用.htaccess重写URL,并且URL有两个查询字符串。这是我的原始网址:
http://domain.com/channel-partners/en/index.php?location=phoenix-az&name=company
我如何将其写成:
http://cp.domain.com/phoenix-az/company
答案 0 :(得分:0)
RewriteEngine On
RewriteBase /
RewriteRule ^partners/([\w-]+)/([\w-]+)/?$ channel-partners/en/index.php?location=$1&name=$2 [L]
这会将partners/location/name
格式的网址重定向到您提供的原始网址的可选尾部斜杠。 location
和name
可以是字母数字,下划线或短划线字符。
注意:我已将网址加上文字partners
的前缀。如果没有它,你的RewriteRule会太松散,几乎可以匹配所有请求。随意改变它。
要从您的子域重定向,以上内容需要位于cp.domain.com的.htaccess文件中。您需要将RewriteRule修改为以下内容:
RewriteRule ^partners/([\w-]+)/([\w-]+)/?$ http://domain.com/channel-partners/en/index.php?location=$1&name=$2 [L]
但是,我真的不推荐这个。链接管理将成为一场噩梦。您应该尝试将所有这些链接放在同一个域下。 301如果必须,可以从子域重定向。