我想重定向一些具有301状态代码的网址
示例:
从www.domain.com//brands/到www.domain.com/brands/
从www.domain.com//brands/brand1到www.domain.com/brands/brand1
我试过这个
Redirect 301 //brands/ /brands/
它主要起作用。但是这个网址没有
www.domain.com/brands/brand1
被重定向到www.domain.com/brandsbrand1
答案 0 :(得分:2)
尝试此规则,
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule / http://www.example.com/%1/%2 [R=301,L]
您也可以尝试使用RedirectMatch:
RedirectMatch 301 ^(.*)//+(.*)$ http://www.example.com/$1/$2
答案 1 :(得分:1)
我用php解决了。
我使用了以下代码:
if(strpos($_SERVER['REQUEST_URI'], "//") !== false || strpos($_SERVER['REQUEST_URI'], "///") !== false){
$url = str_replace("///", "/", $_SERVER['REQUEST_URI']);
$url = str_replace("//", "/", $url);
$protocol = "http";
if(isset($_SERVER['HTTPS'])){
$protocol = "https";
}
$url_final = $protocol . "://" . $_SERVER['HTTP_HOST'] . $url;
header("HTTP/1.1 301 Moved Permanently");
header("Location: $url_final");
}