Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben



  RewriteCond %REQUEST_URI% ^[b]/[/b]homepage/(.*)/(.*)\.html [NC]


Denke das hilft, auch wenn ich keine wirkliche Frage oder Problemstellung in deinem Beitrag gefunden habe :D 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.

Geschrieben
# 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

Geschrieben

# 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 ;)

Geschrieben
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).

Geschrieben
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]

Geschrieben
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...

Geschrieben
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. :)

Geschrieben
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. :)

Geschrieben

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)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...