redirect - Apache 2.4 精确重定向匹配字符串
问题描述
我有一个网址: https ://www.example.com/login/login.cgi?user=option
想要完全匹配 login.cgi
如果用户点击https://www.example.com/login/login.cgi需要重定向到外部站点说www.redirect.com
如果有人点击https://www.example.com/login/login.cgi?user=option它不应该导致任何重定向。
我尝试了查询字符串的各种选项,并且重写规则似乎不起作用。
我尝试使用:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^login.cgi$
RewriteRule ^login/$ https://www.redirect.com? [R=302,L]
解决方案
这应该适合你。
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?login/login\.cgi$ https://example.com [R,L]
这将重定向yoursite.com/login/login.cgi
到example.com
.
条件RewriteCond %{QUERY_STRING} ^$
匹配empty querystring
意味着当 URI/login/login.cgi
没有任何查询字符串时,Rewriterule
将被应用。
RewriteRule 模式的/?
开头使得可以在两个上下文中server.config
或在htaccess
.
推荐阅读
- r - 如何指定运算符 %+% 的库,例如 pkg:: 或 pkg:::
- layout - ios导航栏间距
- multithreading - 在多线程中使用没有 Arc 的 Mutex 是否安全?
- angular - Angular 7 将表单数据映射到 API 模型
- java - javax.net.ssl.SSLHandshakeException?
- sql - 无法在 SQL Server Express 2017 中创建表
- mongodb - 每个动作类型的复杂时间序列查询时间差
- javascript - Jquery DataTable:子行控制错误
- mysql - 从频繁更新的 mysql 表中检索成块的行数据
- javascript - 如何在假期使用 php 或 Javascript 在 wordpress 中更改 css