M
Mr. Snoot
Gast
Hio,
ich wandle meinen dynamischen URLs mittels Mod Rewrite in statische um. Wenn ich eine Adresse ohne abschließenden Slash eingebe, dann wird dieser in der URL automatisch hinzugefügt und die Seite wird angezeigt.
a)
Nun habe ich neue Inhalte hinzugefügt, bei denen das nicht mehr klappt -> der Slash wird am Ende nicht hinzugefügt, und damit kann die Seite nicht angezeigt werden. Die URL unterscheidet sich dabei nur marginal:
b)
Die Rewrite Rules sind eigentlich identisch, weswegen ich mir das unterschiedliche Verhalten nicht erklären kann.
Im Grunde macht das Rewriting folgendes:
a)
b)
Die Rewrite Rules sehen wie folgt aus:
a)
b)
Hat jemand eine Idee, was da schief läuft?
(Das Problem tritt sowohl bei dem Parameter bereich alleine auf, als auch bei bereich und thema zusammen. D.h. der abschließende Slash fehlt im Fall b) immer)
ich wandle meinen dynamischen URLs mittels Mod Rewrite in statische um. Wenn ich eine Adresse ohne abschließenden Slash eingebe, dann wird dieser in der URL automatisch hinzugefügt und die Seite wird angezeigt.
a)
Code:
Eingabe: www.halbleiter.org/grundlagen
Wird zu: www.halbleiter.org/grundlagen[COLOR="Red"][B]/[/B][/COLOR]
b)
Code:
Eingabe: www.halbleiter.org/[COLOR="seagreen"]en/[/COLOR]fundamentals
Bleibt: www.halbleiter.org/[COLOR="SeaGreen"]en/[/COLOR]fundamentals
Die Rewrite Rules sind eigentlich identisch, weswegen ich mir das unterschiedliche Verhalten nicht erklären kann.
Im Grunde macht das Rewriting folgendes:
a)
Code:
www.halbleiter.org/hl.php?bereich=grundlagen [COLOR="navy"]wird zu [/COLOR]www.halbleiter.org/grundlagen/
Code:
www.halbleiter.org/hl[COLOR="seagreen"]_en[/COLOR].php?bereich=fundamentals [COLOR="Navy"]wird zu[/COLOR] www.halbleiter.org/[COLOR="seagreen"]en/[/COLOR]fundamentals
Die Rewrite Rules sehen wie folgt aus:
a)
Code:
[COLOR="red"]#eigentliche Umleitung[/COLOR]
RewriteRule ^([^/\.]*)/$ hl.php?bereich=$1
RewriteRule ^([^/\.]*)/([^/\.]*)/$ hl.php?bereich=$1&thema=$2 [QSA]
[COLOR="red"]#dynamische URL in Adressleiste im Browser ändern[/COLOR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/hl\.php\?bereich=([a-z]+)&thema=([a-z]+)
RewriteRule ^hl\.php$ /%1/%2/? [R=301]
RewriteRule ^/([a-z]+)/([a-z]+)/$ hl.php?bereich=$1&thema=$2 [L]
[COLOR="red"]#dynamische URL in Adressleiste im Browser ändern[/COLOR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/hl\.php\?bereich=([a-z]+)
RewriteRule ^hl\.php$ /%1/? [R=301]
RewriteRule ^/([a-z]+)/$ hl.php?bereich=$1 [L]
b)
Code:
[COLOR="red"]#eigentliche Umleitung[/COLOR]
RewriteRule ^en/([^/\.]*)/$ hl_en.php?bereich=$1
RewriteRule ^en/([^/\.]*)/([^/\.]*)/$ hl_en.php?bereich=$1&thema=$2 [QSA]
[COLOR="red"]#dynamische URL in Adressleiste im Browser ändern[/COLOR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/hl_en\.php\?bereich=([a-z]+)&thema=([a-z]+)
RewriteRule ^hl_en\.php$ /en/%1/%2/? [R=301]
RewriteRule ^/en/([a-z]+)/([a-z]+)/$ hl_en.php?bereich=$1&thema=$2 [L]
[COLOR="Red"]#dynamische URL in Adressleiste im Browser ändern[/COLOR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/hl_en\.php\?bereich=([a-z]+)
RewriteRule ^hl_en\.php$ /en/%1/? [R=301]
RewriteRule ^/en/([a-z]+)/$ hl_en.php?bereich=$1 [L]
(Das Problem tritt sowohl bei dem Parameter bereich alleine auf, als auch bei bereich und thema zusammen. D.h. der abschließende Slash fehlt im Fall b) immer)
Zuletzt bearbeitet: