Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[mod_rewrite] RewriteCount Problem

Empfohlene Antworten

Veröffentlicht

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



  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.

Nun, mein Code funktioniert NICHT ... :(

# 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

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

Jetzt hat es geklappt.

Vielen Dank.

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

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]

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

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

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

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)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.