|
|
YesNoCancel


: 08.10.2008 : 145
|
| : 17.07.2010, 00:11 : modrewrite für teil des dateinamens |
|
|
Vielleicht hat jemand ne schlaue Idee, aktuell sehen die URLs so aus:
/shop/artikel,4,48484.html
/shop/artikel,4,48483.html
/shop/artikel,4,48482.html
/shop/artikel,4,48481.html
etc.
diese sollen künftig so aussehen:
/shop/artikel,0,48484.html
/shop/artikel,0,48483.html
/shop/artikel,0,48482.html
/shop/artikel,0,48481.html
etc.
Die Idee war:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1\.html [R=301]
Funzt nur nicht, wo ist der Denkfehler?
Roi ne suis, ne Prince ne Duc ne Comte aussi; Je suis le sire de Coucy! |
|
| Nach oben |
|
 |
chris21

: 10.04.2005 : 1917
|
| : 17.07.2010, 00:15 : modrewrite für teil des dateinamens |
|
|
Ok.
Da will jemand von Hamburg nach München fahren und Du sollst ihm per Schild den Weg zeigen.
Also stellst Du in München ein Schild auf, wie er nach Hamburg fahren kann?
Wird ihm das helfen?
Einfach mal abwarten und Tee trinken. Das wird scho'.
Auch ne schöne Seite: klick. |
|
| Nach oben |
|
 |
YesNoCancel


: 08.10.2008 : 145
|
| : 17.07.2010, 00:36 : modrewrite für teil des dateinamens |
|
|
Ich verstehe, worauf Du hinaus willst, aber Deine Metapher ist schlecht. Ich zeige ihm in München ein Schild von Deutschland mit zwei Punkten: München, Hamburg. Eh voila, chch.
D.h. die Alternative, für jeden Artikel einen eigenen Redirect 301?
Redirect 301 shop/artikel,4,48484.html http://www.domain.tld//shop/artikel,0,48484.html
Puh, das werden dann locker 150.000 Stück, hat der Server kräftig was zu tun bei jedem Aufruf.
Roi ne suis, ne Prince ne Duc ne Comte aussi; Je suis le sire de Coucy! |
|
| Nach oben |
|
 |
daniel5959


: 20.04.2010 : 436
|
| : 17.07.2010, 04:22 : modrewrite für teil des dateinamens |
|
|
Hallo,
bin jetzt kein rewrite-Experte, aber kann es sein, dass 0 und 4 nur getauscht werden müssen?
daniel5959 
http://www.homepage-faqs.de/
Leichtverständliche Anleitungen für Einsteiger und Fortgeschrittene zum Thema Homepage & Co. |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3353 : Würzburg
|
| : 17.07.2010, 08:39 : modrewrite für teil des dateinamens |
|
|
Du hast Chris nicht verstanden:
| : |
| Ich zeige ihm in München ein Schild von Deutschland mit zwei Punkten: München, Hamburg. Eh voila, chch. |
Und was soll das bringen, wenn derjenige in Hamburg steht? Du sollst den Weg von Hamburg nach München zeigen, nicht umgekehrt.
warum 150.000 Stück? Dreh die Rule doch einfach nur um.
RewriteRule ^/shop/artikel,4,(.+)\.html$ /shop/artikel,0,$1.html [R=301,L]
Leitet weiter von 4 nach 0. Ob Dein Script damit dann was anfangen kann weiß ich nicht. |
|
| Nach oben |
|
 |
profo


: 18.01.2007 : 1709
|
| : 17.07.2010, 08:48 : Re: modrewrite für teil des dateinamens |
|
|
| YesNoCancel hat Folgendes geschrieben: |
Die Idee war:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1\.html [R=301] |
Von der Syntax her sieht das eigentlich ok aus, bis auf den Backslash auf der rechten Seite und vermutlich ein "L"ast-Statement:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1.html [R=301,L]
Und wenn Du "Rewritebase /" gesetzt hast ist der Slash am Anfang zu viel:
RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [R=301,L]
Abgesehen davon sieht das ja eher nach einer technischen Änderung aus, brauchst Du da wirklich einen 301 oder reicht nicht ein serverinternes Umschreiben der URL?
RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L]
Ceterum censeo facebook esse delendam. |
|
| Nach oben |
|
 |
YesNoCancel


: 08.10.2008 : 145
|
| : 17.07.2010, 11:45 : modrewrite für teil des dateinamens |
|
|
Servus,
besten Dank für die Tipps. Da hab ich Chris tatsächlich falsch verstanden, war wohl schon spät
Zum Code:
^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L]
Klingt gut, funktioniert nur leider nicht - d.h. die url wird trotzdem als /shop/artikel,4,48481.html ausgegeben, statt /shop/artikel,0,48481.html
| Code: |
#
# rewrite-regeln
#
RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} PHPSESSID
RewriteRule ^(.*)$ $1? [R=301]
RewriteRule ^shop/artikel,4,(.+)\.html$ shop/artikel,0,$1.html [L]
|
Roi ne suis, ne Prince ne Duc ne Comte aussi; Je suis le sire de Coucy!
Zuletzt bearbeitet von YesNoCancel am 17.07.2010, 12:08, insgesamt 2-mal bearbeitet |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3353 : Würzburg
|
| : 17.07.2010, 12:02 : modrewrite für teil des dateinamens |
|
|
Du musst Dich nun mal entscheiden. Willst Du die URL intern umschreiben oder sichtbar weiterleiten???
Damit schreibst Du nur intern um
| Code: |
| RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L] |
von 0 nach 4. Was aber schwachsinnig ist, da Du sicherlich keine Datei im Filesystem hast die so heißt "shop/artikel,4,$1.html", oder?
Damit leitest zu weiter:
| Code: |
| RewriteRule ^shop/artikel,4,(.+)\.html$ shop/artikel,0,$1.html [R=310,L] |
von 4 nach 0
Und, Dein .htaccess-Code da oben wird gar nicht funktionieren, da das "RewriteRule" fehlt. |
|
| Nach oben |
|
 |
YesNoCancel


: 08.10.2008 : 145
|
| : 17.07.2010, 12:11 : modrewrite für teil des dateinamens |
|
|
Mal wieder bewiesen, never work on weekend. Starker Kaffee intus und alles klappt. Danke für die Idioten-Nachhilfe, wenns mal wieder länger dauert ...
Roi ne suis, ne Prince ne Duc ne Comte aussi; Je suis le sire de Coucy! |
|
| Nach oben |
|
 |