Zur Navigation

Suchmaschinenfreundliche Url´s mod_rewrite [2]

11 Klick4

Zitat von Klick4
Ach misst, jetzt funktioniert das ausloggen nicht mehr.
<a href="/?content=/intern/startseite&amp;logout=true">
In der Browserzeile steht dann
http://www.klick4.de/startseite&logout=true.html
und ist ein 404 fehler.
Das heist die regel

RewriteCond %{THE_REQUEST} \?content=
RewriteCond %{QUERY_STRING} content=/intern/(.+)
RewriteRule ^(index\.php)?$ http://www.klick4.de/%1.html? [R=301,L]

müsste für diesen einen Link wegfallen

07.05.2010 11:05

12 Jörg

Du kannst eine Ausnahme definieren:

RewriteCond %{THE_REQUEST} \?content=
RewriteCond %{QUERY_STRING} content=/intern/(.+)
RewriteCond %{QUERY_STRING} !logout=true
RewriteRule ^(index\.php)?$  http://www.klick4.de/%1.html? [R=301,L]

07.05.2010 11:09

13 Klick4

Zitat von Jörg
Du kannst eine Ausnahme definieren:

RewriteCond %{THE_REQUEST} \?content=
RewriteCond %{QUERY_STRING} content=/intern/(.+)
RewriteCond %{QUERY_STRING} !logout=true
RewriteRule ^(index\.php)?$  http://www.klick4.de/%1.html? [R=301,L]

Dankeschön, hat geklappt. Hab wirklich keinen plan von .htaccess .
Konnte bisher auch noch kein Buch oder Lernmaterial darüber finden.

07.05.2010 11:23

14 Klick4

Und ich bins schon wieder :-)

Ich hab jetzt das Problem, dass leute meinen Anmeldebestätigungslink nicht aktivieren können, da ja jetzt dieser link auch umgeschrieben wird.

Der Bestätigungslink sieht so aus.

http://www.klick4.de/?content=/intern/aktivieren&ak=123456789a

und beim Aufruf wird das rewritet

http://www.klick4.de/aktivieren&ak=123456789a

Dies führt dann wieder auf einen 404 error, da die Datei dort nicht vorhanden ist.
Kann man für diesen Link noch eine ausnahme regel in der .htaccess machen?

Hier nochmal die .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^klick\4.de$
RewriteRule ^/?$ "http\:\/\/www\.klick\4\.de" [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?klick4.de$ [NC]


RewriteCond %{THE_REQUEST} \?content=
RewriteCond %{QUERY_STRING} content=/intern/(.+)
RewriteCond %{QUERY_STRING} !logout=true
RewriteRule ^(index\.php)?$  http://www.klick4.de/%1.html? [R=301,L]
 
RewriteRule ^anmelden.html$   /index.php?content=/intern/anmelden [L]
RewriteRule ^mediadaten.html$ /index.php?content=/intern/mediadaten [L]
RewriteRule ^agbs.html$       /index.php?content=/intern/agbs [L]
RewriteRule ^faqs.html$	      /index.php?content=/intern/faqs [L]
RewriteRule ^impressum.html$  /index.php?content=/intern/impressum [L]

#Menü links
RewriteRule ^daten.html$  /index.php?content=/intern/daten [L]

RewriteRule ^aktivralley.html$  /index.php?content=/ralleys/aktiv [L]
RewriteRule ^klickralley.html$  /index.php?content=/ralleys/klick [L]
RewriteRule ^refralley.html$  /index.php?content=/ralleys/ref [L]



09.05.2010 18:22

15 Jörg

Vielleicht sollte man hier besser das Vorkommen von "&" als Kriterium nehmen, so dass generell URLs mit einem zweiten Parameter nicht weitergeleitet werden

RewriteCond %{THE_REQUEST} \?content=
RewriteCond %{QUERY_STRING} content=/intern/(.+)
RewriteCond %{QUERY_STRING} !&
RewriteRule ^(index\.php)?$  http://www.klick4.de/%1.html? [R=301,L]

09.05.2010 18:58

16 Klick4

Vielen Dank, so funktioniert alles.

09.05.2010 19:23

Beitrag schreiben (als Gast)





[BBCode-Hilfe]