Apache rewrite
alfie
- webserver
Hallo!
Ich möchte eine falschen Link umleiten, und zwar von
http://forum.bebac.at/forum_entry.php?id=3D20
auf
http://forum.bebac.at/forum_entry.php?id=20
Versucht habe ich in der .htaccess im document-root folgendes:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=3D20$
RewriteRule ^forum_entry.php$ forum_entry.php?id=20 [R=301,L]
Ich komme damit aber bei Aufruf des falschen Links immer nur in die Forums-Hauptseite
http://forum.bebac.at/forum.php
Was läuft da schief?
mfg Alfie
Moin!
Was läuft da schief?
Überprüfe das mit dem Programm wget. Das gibts dank der genialen Entwickler von OpenSource-Software auch für Windows.
Benutzung:
wget -d http://forum.bebac.at/forum_entry.php?id=3D20
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo!
Überprüfe das mit dem Programm wget. Das gibts dank der genialen Entwickler von OpenSource-Software auch für Windows.
Benutzung:
wget -d http://forum.bebac.at/forum_entry.php?id=3D20
Wget kenne ich zwar schon lange, aber der debug-mode war mir bisher neu!
mfg Alfie
Moin!
Moin!
Was läuft da schief?
fastix@trainer:~> wget -d http://forum.bebac.at/forum_entry.php?id=3D20
--00:00:38-- http://forum.bebac.at/forum_entry.php?id=3D20
=> `forum_entry.php?id=3D20'
[...]
---request end---
[...]
Platz: forum.php[folge]
[...]
GET /forum.php HTTP/1.0
---request end---
HTTP Anforderung gesendet, warte auf Antwort... HTTP/1.1 200 OK
[...]
Content-Type: text/html
Hm... hast Du noch mehr Umleitungen?
Geht es nicht einfacher mit:
RewriteEngine On
RewriteRule forum_entry.php?id=3D(.*)$ forum_entry.php?id=$1 [R=301,L]
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo!
Hm... hast Du noch mehr Umleitungen?
Nein. Aber inzwischen bin ich schon etwas schlauer.
Geht es nicht einfacher mit:
RewriteEngine On
RewriteRule forum_entry.php?id=3D(.*)$ forum_entry.php?id=$1 [R=301,L]
Werde ich versuchen, wenn ich meinen Provider gequält habe.
Der Webspace ist etwas skuril konfiguriert:
5 directories
[cgi-bin]
[htaccess]
[hterror]
[html]
[htstat]
Eine .htaccess in [html] oder im Unterverzeichnis [forum]
führen zu einem 500er-Fehler, also im error-log:
/home/vhosts/bebac.at/var/www/html/.htaccess: RewriteEngine not allowed here
/home/vhosts/bebac.at/var/www/html/forum/.htaccess: RewriteEngine not allowed here
Also habe ich in meiner Naivität angenommen, der Server ist so eingerichtet, dass die .htaccess im Verzeichnis [htaccess] liegen soll.
Dort ruht sie auch in Frieden - und bewirkt gar nichts - weil vom http-request unberührt ;-)
Was ich für eine falsch eingerichtete .htaccess gehalten habe (statt ...?id=3D20 wird die Hauptseite angezeigt), ist in Wirklichkeit die Fehlerbehandlung des Forum-Skripts...
Jedenfalls danke für deine Mühen!
mfg Alfie
Moin!
Was ich für eine falsch eingerichtete .htaccess gehalten habe (statt ...?id=3D20 wird die Hauptseite angezeigt), ist in Wirklichkeit die Fehlerbehandlung des Forum-Skripts...
Aha. Daher die ganzen Cookies...
Wenn Dein Skript eine Fehlerbehandlung hat, warum suchst Du dann nicht nach "3D" und schmeisst es aus der Variable?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo!
Aha. Daher die ganzen Cookies...
Wenn Dein Skript eine Fehlerbehandlung hat, warum suchst Du dann nicht nach "3D" und schmeisst es aus der Variable?
Aus Unvermögen.
Die Forum-Skripts von meine kleine Homepage übersteigen meine rudimentären PHP-Kenntnisse bei weitem.
Inzwischen warte ich einmal auf die Antwort meines Providers ;-)
mfg Alfie
Hallo!
Nachdem mein Provider seinen Indianer neu frisiert hat, klappt:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^id=3D20$
RewriteRule ^forum_entry.php$ forum_entry.php?id=20 [R=301,L]
ohne "RewriteBase /" kommt ein 404er.
Geht es nicht einfacher mit:
RewriteEngine On
RewriteRule forum_entry.php?id=3D(.*)$ forum_entry.php?id=$1 [R=301,L]
Wäre zwar allgemeiner (auch zukünftige "3D"s würden umgeleitet), klappt aber nicht (endet wieder in der Hauptseite).
mfg Alfie