regex - 如何通过 .htaccess 将包含 2 个正斜杠的任何 URL 重定向到主页?
问题描述
我需要将任何连续包含 2 个或更多正斜杠的 URL 重定向回主页。
我努力了:
RewriteRule example.com(.*)// https://example.com [R,L]
但它不起作用,我不明白为什么,因为它非常简单。
我怎样才能做到这一点?
解决方案
以下是实现此目的的方法(假设是您主页的路径。如果域根目录是您的主页/home
,请将其删除):RewriteRule
RewriteEngine On
RewriteCond %{REQUEST_URI} //
RewriteRule ^(.*)$ %{SERVER_PROTOCOL}://%{HTTP_HOST}/home [R,L]
解释
RewriteCond %{REQUEST_URI}
如果请求 uri 包含双斜杠,则满足条件。斜杠不需要转义(以 开头\
),因为它在正则表达式中没有特殊含义
RewriteRule ^(.*)$ %{SERVER_PROTOCOL}://%{HTTP_HOST}/home
重写 url 并重定向到http(s)://yourdomain/home
推荐阅读
- spring - RestTemple 自定义错误处理程序未捕获 ResourceAccessException
- c# - 如何使这种舍入算法适用于负数?
- javascript - 为什么javascript RegExp测试函数每次与标志一起使用时都会给出不同的结果?
- machine-learning - 可视化聚类结果
- java - 获取另一个对象的对象
- websocket - Vert.x SockJSHandler 类
- javascript - 检索多个值本地存储并在 div 元素中显示
- database - 如何加入编辑发布 DynamoDB(性能)
- c# - When should I use navigation properties to query the database?
- r - R:ggsurvplot 如何在 start.time(2 年)之前删除平线