apache - Apache 指令不使用 IF 条件重定向 REQUEST_URI
问题描述
如果在 REQUEST_URI 中包含“/login”字符串,则 Apache 指令成功地将 Web 应用程序 URL 重定向到帮助页面。这适用于如下的单个指令。
RedirectMatch 301 "^(.*)" "https://x.y.com/help-url/"
但是,如果“REQUEST_URI”包含字符串,我不想重定向到帮助页面login?next=/scm
我修改/添加了如下指令,但它没有按预期工作。
<LocationMatch "^/login">
<If "%{REQUEST_URI} =~ m#/scm#">
#Do nothing
</If>
<Else>
RedirectMatch 301 "^(.*)" "https://x.y.com/help-url/"
</Else>
</LocationMatch>
解决方案
为什么不只是?
RewriteEngine on
RewriteCond %{QUERY_STRING} !^next=/scm$
RewriteRule ^/login.+?/scm https://x.y.com/help-url/ [R,L]
我们检查是否没有发送好的查询字符串,在这种情况下,我们将您要检查的路径重定向到帮助 url。
请注意,如果您需要不同的检查,您可以根据需要添加 rewriteconds
推荐阅读
- r - R/闪亮的数据框列
- python - Tinkerpop & Python - 通过 gremlin 设置数组属性
- python - 如何用 pandas DataFrame 中的共享列值替换某些行?
- javascript - 如何使用javascript在动画中换行?
- google-sheets - 谷歌表格脚本不会设置正在编辑的单元格的值谷歌脚本
- c - 尝试访问复杂结构时出现分段错误
- c# - 如何在没有任何 nuspec 文件的情况下将多个项目的产品打包到一个 nuget 中?
- python - 如何在 Python Scraping 中使用 beautifulsoup 和 selenium 识别类名或 id
- apache-spark - 从 kafka 主题中读取数据并使用 spark tempview 进行聚合?
- reactjs - 如何将 img 存储到 MongoDB 中?