2017-06-15 3 views
0

Ich habe ein Problem mit Htaccess umleiten eine Variable auf saubere URL..htaccess Redirect-Variable zu freundlich Link - viele Weiterleitungen

der Code:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?page=$1 [R] 

RewriteCond %{QUERY_STRING} ^page=about$ 
RewriteRule ^(.*)$ https://www.url.com/about? [R=301,L] 

ich will nur dieses umleiten: "? Page = über" dies: "/ about"

und mit dem obigen Code gibt uns viele Umleitungen zu ..

Vielen Dank für die Zeit, um dies zu betrachten.

+0

Sie diesen Beitrag sehen muss: https://stackoverflow.com/questions/1231067/htaccess-rewrite-for -query-string – Anurag

+0

Diese Lösung leitet nicht um und ich habe diese Lösung oben, aber funktioniert nicht richtig ... –

+0

die erste "RewriteRule" geben Sie mir die freundlichen URLs. aber die zweite leitet nach/über wie ich will, aber es gibt mir viele Weiterleitungen und ich weiß nicht wie ich das lösen soll ... –

Antwort

0

Also habe ich Ihren Code in einem leeren Verzeichnis auf dem lokalen Server versucht.

Dies funktioniert:

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule (.*) index.php?page=$1 [R] 

    RewriteCond %{QUERY_STRING} ^page=about$ 
    RewriteRule ^(.*)$ https://www.url.com/about? [R=301,L] 
</IfModule> 

Aber nicht, wenn ich RewriteEngine on diese Codezeile auskommentieren. Also versuchen Sie Ihren Code mit diesem Stück Linie und es sollte gut funktionieren.

+0

Sorry, aber es geht zur Fehlerseite "ERR_TOO_MANY_REDIRECTS" –

+0

könnten Sie einfügen .htaccess vollständig Code? Überprüfen Sie außerdem, ob weitere Weiterleitungen nach dem oben genannten stattfinden. – Anurag

0

Das ist der vollständige Code.

#Rewrite settings 
Options +FollowSymlinks 
RewriteEngine on 

RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} ^url.com [NC] 
RewriteRule ^(.*)$ https://www.url.com/$1 [L,R=301] 

#Remove index.php from url 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php($|\ |\?) 
RewriteRule^/%1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ index.php?p=$1 [L] 

#RewriteCond %{QUERY_STRING} ^p=about$ 
#RewriteRule ^(.*)$ https://www.url.com/about? [R=301,L] 

RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* ? [F,L] 

Dieses Stück Code, weil wie dies kommentiert wird nicht funktioniert:

#RewriteCond %{QUERY_STRING} ^p=about$ 
#RewriteRule ^(.*)$ https://www.url.com/about? [R=301,L] 
Verwandte Themen