ADAC OnlineShop Newsletteranmeldung
Alt 06.05.2011, 07:59:33   #1 (permalink)
RaR 2012
Benutzerbild von hankfromhelvete

ID: 248446
Lose-Remote

Reg: 16.01.2007
Beiträge: 4.981
hankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehen
Standard 301 Weiterleitung per .htaccess

Ich suche nach einer Möglichkeit eine URL im dem Format:

HTML-Code:
1:
http://www.domain.com/Konsolen-Games/Sony-PSP-3000/Hardware/SONY-PSP-Konsole-Base-Pack-3004-schwarz::992.html
per RewriteRule auf

HTML-Code:
1:
http://www.domain.com/shopware.php/sViewport,search?sSearch=SONY+PSP+Konsole+Base+Pack+3004+schwarz
umzuleiten.

Also immer den Teil zwischen dem letzten / und :: als Parameter an die neue URL hängen. Zusätzlich soll aus - ein + werden.

Ich hab es zwar schon so hinbekommen, dass mit

Code:
1:
RewriteRule (.*)::(.+)\.html$ http://www.domain.com/shopware.php/sViewport,search?sSearch=$1 [R=301,L]
auf

HTML-Code:
1:
http://www.domain.com/shopware.php/sViewport,search?sSearch=/Konsolen-Games/Sony-PSP-3000/Hardware/SONY-PSP-Konsole-Base-Pack-3004-schwarz
weitergeleitet wird, aber das bringt mir leider nichts.

Hat jemand eine Idee wie ich das hinbekomme?


/edit
Ein Problem wäre gelöst. Hab jetzt in der .htaccess

Code:
1:
RewriteRule ^Konsolen-Games/Sony-PSP-3000/Hardware/(.*)::(.+)\.html$ http://www.domain.com/shopware.php/sViewport,search?sSearch=$1 [L,R=301]
Ergebnis ist dann das hier:

HTML-Code:
1:
http://www.domain.com/shopware.php/sViewport,search?sSearch=SONY-PSP-Konsole-Base-Pack-3004-schwarz
Jetzt muss nur noch aus "SONY-PSP-Konsole-Base-Pack-3004-schwarz" "SONY+PSP+Konsole+Base+Pack+3004+schwarz".

Geändert von hankfromhelvete (06.05.2011 um 09:19:13 Uhr)
hankfromhelvete ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 07.05.2011, 05:24:12   #2 (permalink)
Erfahrener Benutzer

ID: 72115
Lose-Remote

MrToiz eine Nachricht über ICQ schicken
Reg: 28.04.2006
Beiträge: 702
MrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz sein
Standard

Ich bin mir nicht sicher, ob es tatsächlich eine Möglichkeit gibt, mit vertretbarem Aufwand alle - durch + zu ersetzen.
Was mir als Quick & Dirty Lösung aber einfällt, ist, alle Requests auf ein (PHP-) Script weiterzuleiten (muss ja nicht mal ein externer Redirect sein) und mit diesem dann die URL zu parsen und die Weiterleitung auszugeben.
MrToiz ist offline   Mit Zitat antworten
Alt 07.05.2011, 08:22:14   #3 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.467
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Grundkonzept wäre sowas:
Code:
1:
(?:([^-]+-)*([^-]+))
die Frage is nur, wie man eine variable Anzahl von Capture-Groups anspricht... und ob das überhaupt geht
theHacker ist gerade online   Mit Zitat antworten
Alt 07.05.2011, 19:30:03   #4 (permalink)
CB-Webhosting.de
Benutzerbild von thrown-out

ID: 124847
Lose-Remote

thrown-out eine Nachricht über ICQ schicken thrown-out eine Nachricht über AIM schicken thrown-out eine Nachricht über Skype™ schicken
Reg: 23.05.2006
Beiträge: 704
thrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblick
Standard

müsste mit rekursiven internen redirects funktionieren.

erst aus der ursprungs-URL ein - replacen, intern redirecten (RewriteRule [N]), das nächste - replacen usw.
Wenn kein - mehr gefunden wird, rewriten und 301 senden.

Achtung, hiermit kann man schnell ne endlosschleife bauen sich schnell den Apachen und/oder den kompletten Server killen!
Zur Performance sag ich mal nix
thrown-out ist offline   Mit Zitat antworten
Alt 09.05.2011, 13:08:37   #5 (permalink)
RaR 2012
Benutzerbild von hankfromhelvete

ID: 248446
Lose-Remote

Reg: 16.01.2007
Beiträge: 4.981
hankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehen
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
Grundkonzept wäre sowas:
Code:
1:
(?:([^-]+-)*([^-]+))
die Frage is nur, wie man eine variable Anzahl von Capture-Groups anspricht... und ob das überhaupt geht
Also ich hab das jetzt mal so probiert:
Code:
1:
RewriteRule ^Konsolen-Games/Sony-PSP-3000/Hardware/(?:([^-]+-)*([^-]+))\.html$ http://www.domain.com/shopware.php/sViewport,search?sSearch=$1 [L,R=301]
Dann komme ich auf:
http://www.domain.com/shopware.php/s...?sSearch=3004-



Problem ist auch, dass die URLs alle unterschiedlich aufgebaut sind. Also z.B.
Code:
1:
http://www.domain.com/Kategorie/Kategorie/Kategorie/Text-Text-Text-Text-Text-Text-Text::ID.html
Code:
1:
http://www.domain.com/Kategorie/Kategorie/Kategorie/Text::ID.html
Code:
1:
http://www.domain.com/Kategorie/Kategorie/Text-Text-Text-Text::ID.html
Das macht es wahrscheinlich nicht einfacher.

Ich weiß auch nicht, ob das überhaupt sinnvoll ist, auf die Suche zu verlinken. Die Kategorien selbst hab ich alle "manuell" rewritet, also jede URL einzeln in der .htaccess eingetragen. Bei den Artikeln selbst, wäre das mit ~1000 URLs zwar eine riesen Arbeit, aber wenn es sich lohnt, wäre das eine Alternative.

Kann das zu Problemen führen, wenn ich >1000 URLs nach dem Chema in der .htaccess eintrage?

Code:
1:
Redirect 301 /Computer-Buero:::4.html http://www.domain.com/computer
hankfromhelvete ist offline Threadstarter   Mit Zitat antworten
Alt 09.05.2011, 20:00:06   #6 (permalink)
Erfahrener Benutzer

ID: 72115
Lose-Remote

MrToiz eine Nachricht über ICQ schicken
Reg: 28.04.2006
Beiträge: 702
MrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz seinMrToiz kann auf vieles stolz sein
Standard

Was spricht gegen die Alternative, alle Anfragen auf ein PHP-Script umzuleiten und von dort dann die externe Umleitung vorzunehmen?
MrToiz ist offline   Mit Zitat antworten
Alt 12.05.2011, 12:47:35   #7 (permalink)
RaR 2012
Benutzerbild von hankfromhelvete

ID: 248446
Lose-Remote

Reg: 16.01.2007
Beiträge: 4.981
hankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehenhankfromhelvete genießt hohes Ansehen
Standard

Zitat:
Zitat von MrToiz Beitrag anzeigen
Was spricht gegen die Alternative, alle Anfragen auf ein PHP-Script umzuleiten und von dort dann die externe Umleitung vorzunehmen?
Die Variante hab ich bisher noch nicht getestet. Werde aber mal gucken ob ich es damit hinbekomme. Mit PHP kenne ich mich jedenfalls besser aus, als mit .htaccess
hankfromhelvete ist offline Threadstarter   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
htaccess subdomain weiterleitung Drogenfahnder Programmierung 2 17.04.2011 20:17:20
Weiterleitung 301 web2null Programmierung 2 20.09.2010 14:11:41
Weiterleitung mittels "if" oder htaccess bestimmter Dateien Fabian17 Programmierung 15 05.07.2009 17:24:35
301 Weiterleitung sunnyboy83 Webhosting 5 12.10.2008 07:05:13
htaccess weiterleitung DadyCool Programmierung 5 03.07.2008 19:55:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49:45 Uhr.