Seite 1 von 2
kleines Problem mit rewrite engine
Verfasst: 09.02.2005 17:55
von mgutt
Hi,
wenn ich diesen Link z.B. aufrufe:
http://www.maxrev.de/forum/viewtopic.ph ... 9&start=20
der noch bei Google gespeichert ist kommt eine total komische Seite bei raus?!
Ich habe diesen Befehl der .htaccess hinzugefügt:
Code: Alles auswählen
# change every URL to www.maxrev.de
RewriteCond %{HTTP_HOST} !^www\.maxrev\.de$
RewriteRule ^(.*)$ http://www.maxrev.de/$1 [L,R=301]
Sinn der Codes sollte sein, dass die User von max-rev.de auf maxrev.de umgeleitet werden sollten.
Das klappt auch hat aber anscheinend den oben genannten Nebeneffekt. Hat jemand einen Lösungsvorschlag für mich?
Zur Info: der oben genannte Link verweist auf den Unterordner /forum/. Den habe ich wegreduziert. Also wäre ein rewrite der User von url/forum/ auf url/ auch sehr hilfreich, falls da jemand was weiß

bzw. würde das wahrscheinlich mein problem lösen

Verfasst: 09.02.2005 19:18
von larsneo
Verfasst: 09.02.2005 19:28
von mgutt
das geht, aber er übergibt die get-variablen nicht
merkt google die weiterleitung und erhält einen R=301 Hinweis?
Verfasst: 09.02.2005 19:42
von larsneo
neuer versuch
und ja - google erkennt ein redirect permanent genauso wie den statuscode 301
Verfasst: 09.02.2005 20:01
von mgutt
Hier meine .htaccess:
Code: Alles auswählen
AddType application/x-httpd-php .php
ErrorDocument 400 http://www.maxrev.de/error404.php
ErrorDocument 401 http://www.maxrev.de/error404.php
ErrorDocument 402 http://www.maxrev.de/error404.php
ErrorDocument 403 http://www.maxrev.de/error404.php
ErrorDocument 404 http://www.maxrev.de/error404.php
ErrorDocument 500 http://www.maxrev.de/error404.php
DirectoryIndex index.php index.html index.htm default.htm default.html
RewriteEngine On
# change every /forum/ to /
# RewriteCond %{HTTP_HOST} !^www\.maxrev\.de/forum/$
# RewriteRule ^(.*)$ http://www.maxrev.de/$1 [L,R=301]
# RewriteRule ^/forum/(.*)$ http://www.maxrev.de/$1 [R=301,L]
RewriteRule ^/forum/(.*)$ /$1 [L,R=301]
# RewriteRule ^forum/(.*)$ http://www.maxrev.de/$1 [L,R=301]
# RewriteRule ^/forum/(.*)$ http://www.maxrev.de/$1 [L,R=301]
# change every URL to www.maxrev.de
RewriteCond %{HTTP_HOST} !^www\.maxrev\.de$
RewriteRule ^(.*)$ http://www.maxrev.de/$1 [L,R=301]
# prevent access from santy webworm a-e
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
RewriteCond %{QUERY_STRING} ^(.*)wget\%20
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
# prevent pre php 4.3.10 bug
RewriteCond %{HTTP_COOKIE}% s:(.*):\%22test1\%22\%3b
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
# prevent perl user agent (most often used by santy)
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC]
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
# Short URL implementation [larsneo]
RewriteCond %{REQUEST_FILENAME} /forum.htm
RewriteRule (.*) /forum.php [L]
RewriteCond %{REQUEST_FILENAME} /forum-mark.htm
RewriteRule (.*) /forum.php?mark=forums [L]
RewriteCond %{REQUEST_FILENAME} /category([0-9]*).htm
RewriteRule (.*) /forum.php?c=%1 [L]
RewriteCond %{REQUEST_FILENAME} /forum([0-9]*)-([0-9]*)-([0-9]*).htm
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3 [L]
RewriteCond %{REQUEST_FILENAME} /forum([0-9]*)-([0-9]*).htm
RewriteRule (.*) /viewforum.php?f=%1&start=%2 [L]
RewriteCond %{REQUEST_FILENAME} /forum([0-9]*)-mark.htm
RewriteRule (.*) /viewforum.php?f=%1&mark=topics [L]
RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).htm
RewriteRule (.*) /viewforum.php?f=%1 [L]
RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1&view=previous [L]
RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1&view=next [L]
RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*)-([a-zA-Z0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5 [L]
RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4 [L]
RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1&start=%2 [L]
RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).htm
RewriteRule (.*) /viewtopic.php?t=%1 [L]
RewriteCond %{REQUEST_FILENAME} /fpost([0-9]*).htm
RewriteRule (.*) /viewtopic.php?p=%1 [L]
RewriteCond %{REQUEST_FILENAME} /post-newtopic-([0-9]*).htm
RewriteRule (.*) /posting.php?mode=newtopic&f=%1 [L]
RewriteCond %{REQUEST_FILENAME} /post-reply-([0-9]*).htm
RewriteRule (.*) /posting.php?mode=reply&t=%1 [L]
RewriteCond %{REQUEST_FILENAME} /post-([a-z]*)-([0-9]*).htm
RewriteRule (.*) /posting.php?mode=%1&p=%2 [L]
RewriteCond %{REQUEST_FILENAME} /album.htm
RewriteRule (.*) /album.php [L]
RewriteCond %{REQUEST_FILENAME} /palbum.htm
RewriteRule (.*) /album_personal_index.php [L]
RewriteCond %{REQUEST_FILENAME} /palbum([0-9]*).htm
RewriteRule (.*) /album_personal.php?user_id=%1 [L]
RewriteCond %{REQUEST_FILENAME} /profile([0-9]*).htm
RewriteRule (.*) /profile.php\?mode=viewprofile&u=%1 [L]
RewriteCond %{REQUEST_FILENAME} /search-author-(.*).htm
RewriteRule (.*) /search.php\?search_author=%1 [L]
RewriteCond %{REQUEST_FILENAME} /search-([0-9]*)-([0-9]*).htm
RewriteRule (.*) /search.php\?search_id=%1&start=%2 [L]
RewriteCond %{REQUEST_FILENAME} /search-([a-zA-Z]*).htm
RewriteRule (.*) /search.php\?search_id=%1 [L]
RewriteCond %{REQUEST_FILENAME} /privmsg-([a-zA-Z]*)-([0-9]*).htm
RewriteRule (.*) /privmsg.php\?mode=%1&u=%2 [L]
RewriteCond %{REQUEST_FILENAME} /privmsg-([a-zA-Z]*).htm
RewriteRule (.*) /privmsg.php\?folder=%1 [L]
RewriteCond %{REQUEST_FILENAME} /register.htm
RewriteRule (.*) /profile.php\?mode=register&agreed=true [L]
RewriteCond %{REQUEST_FILENAME} /profile-([a-zA-Z0-9]*).htm
RewriteRule (.*) /profile.php\?mode=%1 [L]
RewriteCond %{REQUEST_FILENAME} /faq.htm
RewriteRule (.*) /faq.php [L]
RewriteCond %{REQUEST_FILENAME} /search.htm
RewriteRule (.*) /search.php [L]
RewriteCond %{REQUEST_FILENAME} /memberlist.htm
RewriteRule (.*) /memberlist.php [L]
RewriteCond %{REQUEST_FILENAME} /groups.htm
RewriteRule (.*) /groupcp.php [L]
RewriteCond %{REQUEST_FILENAME} /online.htm
RewriteRule (.*) /viewonline.php [L]
Wie du siehst habe ich ein paar Varianten schon durch
Was ich einfach nicht ralle ist, warum dieser Link überhaupt geht?! Normalerweise müsste er doch ein 404 Verursachen.
Naja wäre mir egal, wenn die Weiterleitung gehen würde

Verfasst: 09.02.2005 20:26
von mgutt
ich habe mal alle rewrite-befehle aus der .htaccess entfernt. aber trotzdem ruft der bei der url
www.maxrev.de/forum/ die seite auf.
wohlgemerkt existiert auf dem server kein ordner "forum".
ich bin jetzt doch ein wenig verwirrt.
EDIT: ach ne bei Apache war das doch irgendwie zum Teil egal. Stimmt. Der öffnet in diesem Fall nicht den Ordner "Forum" sondern die "forum.php". Also doch nicht ungewöhnlich.
Tja fehlt also nur noch die richtige Umleitung
Wir können zum Testen ja noch einen anderen Ordner nehmen.
Und zwar der Ordner "chCounter2.3" heißt jetzt "statistics".
Die passenden URL mit Variablen wäre die:
www.maxrev.de/chCounter2.3/statistics.php?details=ie
mit:
Code: Alles auswählen
Redirect permanent /chCounter2.3 http://www.maxrev.de/statistics
kommt das raus:
www.maxrev.de/statistics/statistics.php
mit:
Code: Alles auswählen
RewriteRule ^/chCounter2.3/(.*)$ statistics/$1 [L,R=301]
kommt error404. (er wollte auf die Datei /chCounter2.3/statistics.php zugreifen, konnte sie aber nicht finden.
ist aber eigentlich auch logisch, weil doch nur die statistics vorgetäuscht wird und er weiterhin aus dem alten verzeichnis laden will (richtig?!).
Verfasst: 09.02.2005 21:25
von mgutt
Ok, ich hätte gerne Applause
Das Redirect permanent brauche ich wohl zusätzlich weil der Ordner zufällig genauso heißt wie die .php Datei.
Code: Alles auswählen
Redirect permanent /forum http://www.maxrev.de
RewriteEngine On
# route the changed directories
RewriteRule ^chCounter2.3(.*)$ /statistics$1 [L,R=301]
RewriteRule ^forum(.*)$ $1 [L,R=301]
Verfasst: 09.02.2005 21:43
von mgutt
@ larsneo
leider gehts doch nicht
da war ich ein bisschen voreilig. die weiterleitung sind zwar alle gut und funktionieren, aber durch diese zeile:
wird nicht nur der ordner "forum" umgeleitet sondern auch jede datei, die so heißt, also meine forum.php / forum.htm leider auch. und das gibt dann ne lustige error 404
menno. sag doch mal einer was dazu

Verfasst: 09.02.2005 22:08
von larsneo
Verfasst: 09.02.2005 22:22
von mgutt