2016-09-01 1 views
0

I301 umleiten von doppelten Schrägstrich auf einem Schrägstrich in .htaccess-Datei

Beispiel einige Urls mit 301-Statuscode umleiten möchten:

von www.domain.com//brands/ auf www. domain.com/brands/

von www.domain.com//brands/brand1 www.domain.com/brands/brand1

ich habe schon versucht, diese

Redirect 301 //brands/ /brands/ 

Es funktioniert. Aber auf dieser URL funktioniert es nicht www.domain.com/brands/brand1 Es wird auf www.domain.com/brandsbrand1 umgeleitet

Vielen Dank.

Antwort

2

diese Regel versuchen,

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ 
RewriteRule/http://www.example.com/%1/%2 [R=301,L] 

Sie können auch mit RedirectMatch versuchen:

RedirectMatch 301 ^(.*)//+(.*)$ http://www.example.com/$1/$2 
+0

Nein, es funktioniert nicht, Meine .htaccess Datei folgt. RewriteEngine auf #OPTIONS -Indexes + FollowSymlinks RewriteCond% {REQUEST_URI}^(. *) // (. *) RewriteRule $. % 1 /% 2 [R = 301, L] RewriteCond% {SCRIPT_FILENAME}! -f RewriteCond% {SCRIPT_FILENAME}! -d RewriteRule^(. *) $ Index.php/$ 1 – FGDeveloper

+0

versuchen bearbeitet Antwort kann sein seine Arbeit –

+0

Nein, nicht arbeiten Redirect. Danke für Ihre Hilfe. Aber Problem nicht gelöst – FGDeveloper

0

ich mit PHP gelöst.

habe ich folgenden Codes:

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"); 
} 

wieder Danke.

Verwandte Themen