我几乎已经完成了编写 .htaccess 文件以将一些 URL 重定向到新域的工作。
最后一件事:我有以下结构的 URL:
http://www.domain.be/?s=searchterm
我怎样才能捕获它们?
RewriteRule ^\?s=(.*)$ http://newsubdomain.domain.be/?s=$1 [NC,L]
有任何想法吗?
答案1
RewriteRule
仅匹配路径,不匹配查询字符串。您需要RewriteCond
为此添加。
请注意百分比反向引用%1
,它插入在 中捕获的搜索词RewriteCond
。 中的斜线RewriteRule
实际上是无操作,因为我们不关心 URL 路径中的任何内容。
RewriteCond %{QUERY_STRING} ^s=(.*) [NC]
RewriteRule / http://newsubdomain.domain.be?s=%1 [R,L]
答案2
您需要以/
- 开始您的正则表达式,因此就您而言:-
RewriteRule ^/\?s=(.*)$