burnersk Geschrieben 8. August 2007 Teilen Geschrieben 8. August 2007 Hallo. Ich habe ein kleines Problem mit mod_rewrite ... Meine .htaccess # Verzeichnis DirectoryIndex index.php index.html index.htm Options FollowSymLinks Allow from all # PHP #nothing to do # mod_rewrite RewriteEngine On # Dynamische Seiten laden RewriteCond %REQUEST_URI% ^homepage/(.*)/(.*)\.html [NC] RewriteRule ^.* /script.php?category=$1&page=$2 [R,L] Die Anweisung soll folgendes durchführen: Bedinungen: - bei Aufruf von "dev5-media.de/homepage/[kategorie_titel]/[seiten_titel].html // "homepage" existiert nicht. es ist ein keyword für mod_rewrite. - nur Endung ".html" nicht ".htm" - Groß- und Kleinschreibung wird nicht beachtet Anweisungen: - /scripts.php?category=[kategorie_titel]&page=[seiten_titel] Eigenschaften: - definitiv letzte Regel für mod_rewrite - neue url übermitteln Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 8. August 2007 Teilen Geschrieben 8. August 2007 RewriteCond %REQUEST_URI% ^[b]/[/b]homepage/(.*)/(.*)\.html [NC] Denke das hilft, auch wenn ich keine wirkliche Frage oder Problemstellung in deinem Beitrag gefunden habe EDIT: Natürlich muss bei der RewriteRule derselbe Ausdruck hin. Ein RewriteRule .* Bla bringt dir gar nichts, da der Reg.Ausdruck vorne ja entscheidet was hinten mit gemacht wird. EDIT2: RewriteCond %REQUEST_URI% ^/homepage/.*/.*\.html [NC] RewriteRule ^/homepage/(.*)/(.*)\.html /script.php?category=$1&page=$2 [R,L] Das, würde ich jetzt mal sagen, sollte funktionieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 8. August 2007 Autor Teilen Geschrieben 8. August 2007 Nun, mein Code funktioniert NICHT ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 8. August 2007 Autor Teilen Geschrieben 8. August 2007 # mod_rewrite RewriteEngine On # Dynamische Seiten laden RewriteCond %REQUEST_URI% ^/homepage/(.*)/(.*)\.html [NC] RewriteRule ^/homepage/(.*)/(.*)\.html /script.php?category=$1&page=$2 [R,L]Funktioniert leider auch nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 8. August 2007 Teilen Geschrieben 8. August 2007 # mod_rewrite RewriteEngine On # Dynamische Seiten laden RewriteCond %[b]{[/b]REQUEST_URI[B]}[/B]% ^/homepage/(.*)/(.*)\.html [NC] RewriteRule ^homepage/(.*)/(.*)\.html /script.php?category=$1&page=$2 [R,L] Ansonsten: RewriteLog /var/log/apache2/rewriteLog RewriteLogLevel 5 Level kann eine Zahl von 0(nichts) bis 9 (alles) sein. Geht allerdings nicht in einer .htaccess Datei. EDIT: Und produktiv sollte das nicht höher als 2 stehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 8. August 2007 Autor Teilen Geschrieben 8. August 2007 Jetzt hat es geklappt. Vielen Dank. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mascha Geschrieben 9. August 2007 Teilen Geschrieben 9. August 2007 Vielleicht noch ein [R=301,L] für die permanente Umleitung anstatt der temporären? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Vielleicht noch ein [R=301,L] für die permanente Umleitung anstatt der temporären? Passt hier IMHO gar nicht hin. Was er mit der Lösung macht sind SEO-Links, keine Umleitung zu einer neuen Seite. Sprich der Client bekommt von der Umleitung gar nichts mit (und soll das auch gar nicht). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mascha Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Passt hier IMHO gar nicht hin. Was er mit der Lösung macht sind SEO-Links, keine Umleitung zu einer neuen Seite. Sprich der Client bekommt von der Umleitung gar nichts mit (und soll das auch gar nicht). Aber er macht doch oben mit [R,L] eine Umleitung, anstatt ein unsichtbares Rewrite mit [L]. Nur ohne Angabe des Codes wird es eine temporäre mit 302 anstatt einer permanenten mit 301. Gerade noch mal getestet. Dies steht in meiner .htaccess RewriteEngine on RewriteCond %{REQUEST_URI}% ^/homepage/(.*)/(.*)\.html [NC] RewriteRule ^homepage/(.*)/(.*)\.html /album.php?cat=$1&album=$2 [R,L] Dies ist das Output: D:\wget>wget --server-response http://localhost/homepage/e/5.html --07:48:55-- http://localhost/homepage/e/5.html => `5.html' Resolving localhost... 127.0.0.1 Connecting to localhost[127.0.0.1]:80... connected. HTTP request sent, awaiting response... 1 HTTP/1.1 302 Found 2 Date: Fri, 10 Aug 2007 06:48:55 GMT 3 Server: Apache/2.0.53 (Win32) mod_ssl/2.0.53 OpenSSL/0.9.7f PHP/5 4 Location: http://localhost/album.php?cat=e&album=5 5 Content-Length: 342 6 Keep-Alive: timeout=15, max=100 7 Connection: Keep-Alive 8 Content-Type: text/html; charset=iso-8859-1 Location: http://localhost/album.php?cat=e&album=5 [following] --07:48:55-- http://localhost/album.php?cat=e&album=5 => `album.php@cat=e&album=5' Connecting to localhost[127.0.0.1]:80... connected. HTTP request sent, awaiting response... 1 HTTP/1.1 200 OK 2 Date: Fri, 10 Aug 2007 06:48:55 GMT 3 Server: Apache/2.0.53 (Win32) mod_ssl/2.0.53 OpenSSL/0.9.7f PHP/5 4 X-Powered-By: PHP/5.0.4 5 Content-Length: 4779 6 Keep-Alive: timeout=15, max=100 7 Connection: Keep-Alive 8 Content-Type: text/html 100%[====================================>] 4,779 --.--K/s 07:48:55 (4.56 MB/s) - `album.php@cat=e&album=5' saved [4779/4779] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Aber er macht doch oben mit [R,L] eine Umleitung, anstatt ein unsichtbares Rewrite mit [L]. Nur ohne Angabe des Codes wird es eine temporäre mit 302 anstatt einer permanenten mit 301. Oh, stimmt. Das R hab ich ganz übersehen. Von daher sollte er das R lieber weglassen. Ich denke das steht da einfach aus Unwissen. Ich hab das aber z.B. da auch gar nicht erwartet (weil ich einen SEO-Link erwartet hab bzw dessen Umschrteibung), also ist mir das auch nicht aufgefallen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mascha Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Oh, stimmt. Das R hab ich ganz übersehen. Von daher sollte er das R lieber weglassen. Ich denke das steht da einfach aus Unwissen. Ich zitiere: "Eigenschaften: - definitiv letzte Regel für mod_rewrite - neue url übermitteln" Also steht das R da mit voller Absicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Ich zitiere: "Eigenschaften: - definitiv letzte Regel für mod_rewrite - neue url übermitteln" Also steht das R da mit voller Absicht. Das kann auch aus einem Verständnissproblem stammen. Klar, ich interpretiere da vielleicht zuviel rein, aber die Form die seine Links haben und die form, die dann umgeschrieben aufgerufen werden, das sieht für mich klar nach SEO aus. Aber der Client muss von der umgeschriebenen URL ja nichts wissen, von daher kann man "url übermitteln" auch so verstehen, dass die umgeschriebene URL an den Server übermittelt wird (was mod_rewrite ja generell tut). Also falls er das wirklich als redirect will, dann hast du u.U. recht (falls die Umleitung nicht wirklich nur temporär ist), falls er das nur zur Vereinfachung der Links haben will, dann ist das Weglassen der bessere weg. Aufklären kann das aber nur der OP. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 15. August 2007 Autor Teilen Geschrieben 15. August 2007 Hi. Bin erst jetzt vom Einsatz zurück. Also folgendes... SEO in der release: - user kann auf dyn seite zugreifen durch test.de/dynpage/category/title.html (1) - user kann auf dyn seite direkt zugreifen durch test.de/scripts/getpage?id=1234 (2) - die url wird nur intern geändert. es wird keine informationen an den client hierüber gesendet - (1) muss auf jeden fall stehen bleiben. wegen ranking. SEO jetzt (dev): - user kann auf dyn seite zugreifen durch test.de/dynpage/category/title.html (1) - user kann auf dyn seite direkt zugreifen durch test.de/scripts/getpage?id=1234 (2) - die url (1) soll zu testzwecken in den getpage Aufruf (2) umgewandelt werden. und dann an den user übergeben werden (tempoäres redirect via mod_rewrite) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.