apache - 将旧搜索重定向到新搜索并保留第一个参数
问题描述
当有人搜索任何内容时,我有一个网站实际上有这个 URL
/search?searchword=KEYWORD&searchphrase=all
我想将它重定向到新的:
/newsearch?q=KEYWORD
基本上,保留KEYWORD参数并重写 URL
我已经尝试过RewriteRule ^search?searchword(.*)$ /newsearch?q=$1 [L,QSA]
,但它不起作用,没有任何反应。
谢谢。
解决方案
您的规则不起作用,因为您正在使用RewriteRule
指令来测试查询字符串。您需要匹配%{QUERY_STRING}
或%{THE_REQUEST}
如@RavinderSingh13 的答案中所述。
RewriteEngine on
RewriteCond %{QUERY_STRING} ^searchword=([^&]+)&searchphrase=.+$ [NC]
RewriteRule ^search/?$ /newsearch?q=%1 [L,R]
推荐阅读
- sql - 下面的 SQL Server 查询在第 4 列中返回(无列名)。如何在第 4 列中创建列名
- c++ - 在结构中重载 ostream 和 istream 时逗号分开
- kubernetes - core-dns 说 NXDOMAIN 来自 Kubernetes 外部的查询
- amazon-web-services - 哪些资源可以驻留在 Amazon VPC 中?
- python - 使用python查找Land中最近的位置坐标
- c - 使用结构前缀初始化是什么意思?
- c++ - C++ 在一张地图中存储不同的指针类型(并处理销毁)
- google-bigquery - 数据处理 - BigQuery 与 Data Proc+BigQuery
- php - 在 Laravel 中注册后如何进行身份验证
- angular - 我在 Angular FormBuilder 表单中动态检索的选择是保存为对象,而不是值