首页 > 解决方案 > 如何通过 .htaccess 将包含 2 个正斜杠的任何 URL 重定向到主页?

问题描述

我需要将任何连续包含 2 个或更多正斜杠的 URL 重定向回主页。

我努力了:

RewriteRule example.com(.*)// https://example.com [R,L]

但它不起作用,我不明白为什么,因为它非常简单。

我怎样才能做到这一点?

标签: regex.htaccessredirect

解决方案


以下是实现此目的的方法(假设是您主页的路径。如果域根目录是您的主页/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

演示


推荐阅读