Zur Navigation

Sprechende Url: www.domain.de/menu/seite umleiten .../index.php?m=menu&s=seite

1 Rodja

Hallo Jörg, hallo liebe Forumsnutzer,

ich quäle mich auch schon seit einiger Zeit mit der .htaccess herum.

Ich möchte zu meiner Domain rodja-kleemann.de sprechende Urls haben:

www.rodja-kleemann.de/start/start -> www.rodja-kleemann.de/index.php?menu=start&seite=start
www.rodja-kleemann.de/hobbys/gitarre -> www.rodja-kleemann.de/index.php?menu=hobbys&seite=gitarre
...

Nach langem hin und her bin ich auf folgende Teillösung gekommen:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /rodja/

RewriteCond ^.*$ ^/?$
RewriteRule ^.*$ /index\.php\?menu=start&seite=start [PT,L]

RewriteCond ^.*$ !^/?$
RewriteRule ^([^\./]+)/([^\./]*)$ /index\.php\?menu=$1&seite=$2 [PT,L]
</IfModule>

Ich teste das ganze aktuell Lokal auf /var/www/html/rodja/ (debian 10)

Das erste paar Anweisungen (Cond, Rule) erzielt den erwünschten Erfolg. Meine Seite wird angezeigt, wenn ich nur 127.0.0.1/rodja/ eingebe.

Wenn ich im Menu aber auf einen Link derart oben klicke, kommt nur die leere Seite.

Ich würde mich sehr über Hilfestellungen freuen.

Gruß Rodja

27.01.2021 02:02

2 Jörg Kruse

Benötigst du das PT-Flag?

Ich würde es etwas einfacher fassen:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /rodja/

RewriteRule ^$ index.php?menu=start&seite=start [L]

RewriteRule ^([^\./]+)/([^\./]*)$ index.php?menu=$1&seite=$2 [L]
</IfModule>

Edit: die Zielpfade enthalten keine "\" vor "." oder "?", diese Maskierung ist nur bei den Ausdrücken davor notwendig

Wenn ich im Menu aber auf einen Link derart oben klicke, kommt nur die leere Seite.

Welche URL erscheint dabei in der Adresszeile des Browsers?

Zeigt bei der weißen Seite die Quelltextanzeige des Browsers etwas an?

Ggf. wird in der Errorlog-Datei des Webservers (bei Debian /var/log/apache2/error.log) eine Fehlermeldung vermerkt, die bei der Analyse weiterhelfen könnte

27.01.2021 09:02 | geändert: 27.01.2021 09:07

3 Rodja

Danke, Jörg, es klappt tadellos. :)

27.01.2021 17:34

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]