Seite 1 von 1

301 Weiterleitung einer einziger URL (einer Domain)

Verfasst: 28.12.2009, 20:50
von kitaro
Hallo,

ich möchte gerne die URL: https://www.gitarre-spielen-lernen.de/f ... rum25.html auf folgende via 301 weiterleiten: https://www.gitarre-spielen-lernen.de/f ... rum28.html

Komischerweise funktioniert dieser Ausdruck nicht, da immer zu https://www.gitarre-spielen-lernen.de/f ... .html?f=25 weitergeleitet wird.

Code: Alles auswählen

RedirectPermanent /forum/forum25.html http://www.gitarre-spielen-lernen.de/forum/forum28.html


Ich habe im Ordner /forum bereits eine htaccess mit folgendem Code liegen. Kann es vielleicht daran liegen?

Code: Alles auswählen

RewriteEngine On


RewriteCond %{REQUEST_FILENAME} /viewforum([0-9]*)-([0-9]*)-s([0-9]*).html
RewriteRule (.*) /forum/viewforum.php?f=%1&topicdays=%2&start=%3 [L]

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).html
RewriteRule (.*) /forum/viewforum.php?f=%1 [L]

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*)-s([0-9]*).html
RewriteRule (.*) /forum/viewforum.php?f=%1&start=%2 [L]




RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=previous [L]

RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=next [L]




RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-s([0-9]*).html
RewriteRule (.*) /forum/viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-s([0-9]*).html
RewriteRule (.*) /forum/viewtopic.php?t=%1&start=%2 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /forum/viewtopic.php?t=%1 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /forum/viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5 [L]





<Files config.php>
Deny from all
</Files>

Verfasst:
von

Re: 301 Weiterleitung einer einziger URL (einer Domain)

Verfasst: 29.12.2009, 10:47
von Mork vom Ork
kitaro hat geschrieben:Komischerweise funktioniert dieser Ausdruck nicht, da immer zu https://www.gitarre-spielen-lernen.de/f ... .html?f=25 weitergeleitet wird.

Code: Alles auswählen

RedirectPermanent /forum/forum25.html http&#58;//www.gitarre-spielen-lernen.de/forum/forum28.html
Die URL, die du weiterleiten möchtest, wird mit mod_rewrite in eine Parameter-URL umgeschrieben. Redirect ist zwar einfacher aufgebaut und macht erfreulicherweise nicht so einen Aufstand wie RewriteRule, aber leider hat das den Nachteil, dass Redirect zum einen mit Parameter-URLs schon pe se nicht so ganz toll umgehen kann und die beiden Module sich zudem auch noch in die Quere kommen können.
Grundsätzlich ist Redirect also erste Wahl, aber in diesem Fall solltest du alles mod_rewrite überlassen.

Probiere, vor diesen Abschnitt in deiner /.htaccess:

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).html
RewriteRule (.*) /forum/viewforum.php?f=%1 [L]

&#8230; diese Zeile zu setzen:

RewriteRule ^forum/forum25\.html$ /forum/forum28.html [L,R=301]

Taucht das Fragezeichen immernoch auf, füge an das zweite Argument ein Fragezeichen an, also /forum/forum28.html?

Verfasst: 29.12.2009, 19:02
von kitaro
Hallo Mork vom Ork,

danke für deine Antwort. Ich habe es genau so gemacht, wie du es beschrieben hast. Leider kommt nur ein "200 OK" bei raus:

Code: Alles auswählen

HTTP/1.1 200 OK =>
Date => Tue, 29 Dec 2009 17&#58;48&#58;25 GMT
Server => Apache/2.2.3 &#40;Debian&#41; mod_python/3.2.10 Python/2.4.4 PHP/5.2.11-0.dotdeb.0 with Suhosin-Patch mod_ssl/2.2.3 OpenSSL/0.9.8c
X-Powered-By => PHP/5.2.11-0.dotdeb.0
Cache-Control => private, pre-check=0, post-check=0, max-age=0
Expires => 0
Pragma => no-cache
Set-Cookie => phpbb2mysql_sid=6284cd6b684b3fa2e74b36e0c5bc4892; path=/
Connection => close
Content-Type => text/html
Fällt dir vielleicht noch eine Lösung ein?

Verfasst:
von

Verfasst: 04.01.2010, 12:15
von Mork vom Ork
kitaro hat geschrieben:Leider kommt nur ein "200 OK" bei raus:
Du bekommst also die alte Seite 25 angezeigt? Das wäre dann ja noch schlimmer als vorher &#8230; Nachvollziehen kann ich das im Moment nicht, aber vielleicht hilft ein wenig Stochern im Nebel:

RewriteRule forum/forum25\.html$ /forum/forum28.html [L,R=301]

Oder:

RewriteRule forum/forum25\.html /forum/forum28.html [L,R=301]

Oder:

RewriteCond %{REQUEST_FILENAME} /forum25\.html
RewriteRule (.*) /forum/forum28.html [L,R=301]

Probiere die drei Varianten aus. Beachte auch unbedingt die Position in der .htaccess, die externe Weiterleitung muss vor dem internen Umbau auf das viewforum-Skript erfolgen (wie schon geschrieben, in Zeile RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).html).

Hilft alles nichts, zitiere nochmal deine geänderte(n) .htaccess.

Verfasst: 04.01.2010, 20:21
von kitaro
Mork vom Ork hat geschrieben:
RewriteCond %{REQUEST_FILENAME} /forum25\.html
RewriteRule (.*) /forum/forum28.html [L,R=301]
Dies ist die Lösung. Ich danke dir vielmals. :D