Zur Navigation

Fehler in .htaccess und keine Idee mehr!

1 Detlef (Gast)

Hallo Jörg

Ich habe ein riesen Problem.
Ich benutze folgende .htaccess Datei (Auszug) um URLs umzuschreiben.

Soweit funktioniert alles, nur beim Aufruf einer URL in der Form:

www.domain.de/index.php?cPath=XXX (XXX= Ziffern) wird die URL nicht umgeschrieben ... Hier mal der Bereich aus der .htaccess der für die Regel genau anders herum zuständig ist:

##-- Kategorien
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+):([_0-9]+)\.html$ /index.php?cPath=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+)\.html$ /index.php?cPath=$2 [qsappend,L]

und hier nun die komplette .htaccess (Auszug der rewrite Regeln)



RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
#
##-- EOF - Tomcraft - 2009-09-09 - Use canonical URLs
# keine index.php mehr
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

#-- Sitemap
RewriteRule ^sitemap(.*)\.html$ /shop_content.php?coID=8 [qsappend,L]
#--index.php/cPath/xxx umleiten
RewriteRule ^index\.php/cPath/([0-9_]+)$ / [R=301]

##-- Kategorien
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+):([_0-9]+)\.html$ /index.php?cPath=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+)\.html$ /index.php?cPath=$2 [qsappend,L]

##-- Produkte
RewriteRule (.*)::(.+)\.html$ /product_info.php?products_id=$2 [qsappend,L]

##-- Content
RewriteRule (.*):_:([0-9]+)\.html$ /shop_content.php?coID=$2 [qsappend,L]

##-- Manufacturers
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):.:([_0-9]+):([_0-9]+)\.html$ /index.php?manufacturers_id=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+)\.html$
RewriteRule (.*):.:([0-9]+)\.html$ /index.php?manufacturers_id=$2 [qsappend,L]

Was läuft denn hier schief? Bin wirklich für jeden Tipp dankbar und drück auch gern wieder den Spendenbutton. (Du erinnerst Dich? ;-)

Liebe Grüße und schon mal DANKE!

Detlef

05.06.2011 22:20

2 Jörg

www.domain.de/index.php?cPath=XXX (XXX= Ziffern) wird die URL nicht umgeschrieben

"www.domain.de/index.php?cPath=XXX" ist hier ja das Umschreibungsziel. Gib mal eine konkrete Beispiel-URL (mit Endung .html), die nicht umgeschrieben wird (Domainnanmen kannst du ändern). Und was passiert bei deren Aufruf im Browser - gibt es eine Fehlermeldung (wenn ja, welche)?

06.06.2011 14:55 | geändert: 06.06.2011 14:56

3 Detlef (Gast)

Hallo Jörg

Sorry wegen der "Verspätung" ...
Ich habe den Fehler entdeckt. Es liegt nicht an den Rules, sondern am Erstellungsscript für die dynamischen Links.

Danke für Deine Mühen!

Detlef

07.06.2011 20:25

4 Detlef (Gast)

Hallo Jörg

Ich muß Dir leider Dein Pfingsten stören denn ich habe ein letztes Problem, welches ich allein nicht gelöst bekomme.

Folgendes:
Ich möchte Seiten mit folgenden Aufbau umleiten:

/testderdatei-c-99_01_02.html nach /index.php?cPath=01_02

bzw. auch:

/testderdatei-c-99_01.html nach /index.php?cPath=01

Es muss also immer der das
-c-99
ggf. auch mit nachfolgendem Unterstrich _ entfernt und dann entsprechend rewritet werden.

Es sollen aber prinzipiell nur URL's nach dem Schema:
 ... hier variert der text-c-99.html 
umgeleitet werden.

Also nochmal zusammenfassend:

-c-99.html
ist das Kriterium, alles was dahinter kommt also z.b.:
..... -c-99.html[i]_01_02[/i]
nach
index.php?cPath=01_02
bzw. URL's mit:
..... -c-99.html[i]_01[/i]
nach
index.php?cPath=01
.

Ich hoffe, dass ich mich verständlich ausgedrückt habe und würde mich über Deine Hilfe sehr freuen!
Schönes Pfingsten!
Gruß
Detlef

11.06.2011 14:13

5 Detlef (Gast)

... kann meinen Beitrag natürlich nicht editieren, wie auch, bin ja nicht regisitriert. Die und Formatierungstags sind versehentlich mit in den Code gerutscht und kommen natürlich nicht in der URL vor ...

Grüße!
Detlef

11.06.2011 14:16

6 Detlef (Gast)

Ich muss meine Zusammenfassung nochmals verständlicher editieren ...

Also nochmal zusammenfassend:

-c-99.html

ist das Kriterium, alles was dahinter kommt also z.b.:

..... -c-99_01_02.html

nach

index.php?cPath=01_02

bzw. URL's mit:

..... -c-99_01.html

nach

index.php?cPath=01

Die Zahlen im cPath varieren ebenfalls von 2-stellig bis dreistellig ... also z.b.:
..... -c-99_01_102.html
oder
..... -c-99_101_02.html
oder
..... -c-99_501_902.html

So, jetzt sollte es verständlicher sein ... ;-)

LG
Detlef

11.06.2011 16:48

7 Jörg

Ich würde es so probieren:

RewriteRule testderdatei-c-99_([0-9]{2,3}(_[0-9]{2,3})?)\.html http://example.com/index.php?cPath=$1 [R=301]

11.06.2011 17:58

8 Detlef (Gast)

Hallo Jörg

... vielen Dank!
Ich habe es wie folgt geändert:
RewriteRule testderdatei-c-99_([0-9]{2,3}(_[0-9]{2,3})?)\.html /index.php?cPath=$2 [R=301]

Es funktioniert!

DANKE!

Gruß
Detlef

11.06.2011 20:02

9 Forum

Ein Beitrag aus diesem Thread wurde in einen neuen Thread verschoben:

einen 410er senden

12.06.2011 23:08

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]