Schrift
[thread]3183[/thread]

regulärer ausdruck für mod_rewrite gesucht...: ich werd noch bekloppt ;o)



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Magic
 2006-02-12 22:31
#29861 #29861
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,
ich habe nen absoluten Durchhänger und weiss einfach nicht mehr weiter. Dabei ists doch auf den ersten Blick so einfach.
Ich habe ein Script (CMS/Shop) welches mir lusige URl wie diese hier fabriziert:
Quote
http://www.website.de/needfullthings.pl?SID=020761...

oder
Quote
http://www.website.de/needfullthings.pl?SID=020761...


Suchmaschinenfreundlicherweise möchte ich nun über mod_rewrite erreichen, dass die Links in etwa so aussehen:
Quote
http://www.website.de/needfullthings/SID-020761272...

Hauptsache Suchmaschinenfreundlicher.
Ich habe jetzt schon verschiedene Ansätze probiert, bekomme aber keine befriedigende Lösung zu Stande. Entweder klappts gar nicht, oder nur bedingt.
Die Werte sollen variable sein, sprich die Postion von SID z.B. muss auch am Ende stehen und genausogut auch leer sein können.

Hat jemand Tipps oder Vorschläge wie ich das am besten anstelle?

Gruß,
Stefan\n\n

<!--EDIT|Magic|1139776549-->
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
renee
 2006-02-13 00:27
#29862 #29862
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich kenne mich zwar mit mod_rewrite nicht aus, aber vielleicht findest Du Hilfe auf den folgenden Seiten:

http://www.andreas-kalt.de/blog/webwork/modrewrite-entraetselt
http://www.modrewrite.de/
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
cbxk1xg
 2006-02-13 00:43
#29863 #29863
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hallo Magic,

als erstes möchte ich dir sagen: "Ich fühle mit dir." :-)

Ich habe auch schon so einige Stunden/Tage mit mod_rewrite hinter mir.

Hilfreiche Links:

English (Original Doku):
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Deutsch:
- http://www.modrewrite.info/mod_rewrite_howtointro.html

Wenn das alles nix bringt, einfach noch mal melden.\n\n

<!--EDIT|cbxk1xg|1139784266-->
GwenDragon
 2006-02-13 10:47
#29864 #29864
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Leider kannst du nur die URL umschreiben. Der Query-string läßt sich nicht in eine URL ändern.
Da musst du schon Hand an das CMS legen.
Magic
 2006-02-13 12:26
#29865 #29865
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=GwenDragon,13.02.2006, 09:47]Leider kannst du nur die URL umschreiben. Der Query-string läßt sich nicht in eine URL ändern.
Da musst du schon Hand an das CMS legen.[/quote]
Erst mal danke an alle für die Antworten.

Das ich nur die URl umschreiben kann ist mir schon klar und auch nicht das Problem. Bei mir haprts an der passenden universellen RegEx.

Gruß,
Stefan
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
GwenDragon
 2006-02-13 13:05
#29866 #29866
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ne universelle Regex gibt es ja nicht. Wenn du nicht weißt, wieviel Parameter im Querystring übergeben werden müsset du ganz viele Regexes hintereinander setzen.

Wohl so (ungetestet)
Code: (dl )
1
2
RewriteCond %{QUERY_STRING} ([A-Z]+)=([^;]*);...([A-Z]+)=([^;]*);? [NC]
RewriteRule ".*/%1-%2/%3-%4/%5-%6/%7-%8/...\?"
\n\n

<!--EDIT|GwenDragon|1139828885-->
cbxk1xg
 2006-02-14 01:36
#29867 #29867
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
[quote=GwenDragon,13.02.2006, 12:05]Ne universelle Regex gibt es ja nicht. Wenn du nicht weißt, wieviel Parameter im Querystring übergeben werden müsset du ganz viele Regexes hintereinander setzen.[/quote]
Aber man könnte doch pauschal alle ";" und "=" ersetzen, oder?
GwenDragon
 2006-02-14 08:52
#29868 #29868
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ja, könnte, wenn ...
Es gibt aber bei mod_rewrite kein /g!
cbxk1xg
 2006-02-15 01:23
#29869 #29869
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
[quote=GwenDragon,14.02.2006, 07:52]Ja, könnte, wenn ...
Es gibt aber bei mod_rewrite kein /g![/quote]
Das ist natürlich doof.


Ich hatte mal ein ähnliches Problem. Meine URL sah so aus:
http://foo.bar/?PID=static,some,folder,Home_de

Der richtige URL der Datei war:
http://foo.bar/Data/static/some/folder/Home_de

Dann habe ich meinem CMS beigebacht die Links anders zu schreiben. Nämlich so:
http://foo.bar/static,some,folder,Home_de.htm

Mit mod_rewrite habe ich dann alle URLs die auf .htm enden, einfach an das Skript übergeben. Allerdings ohne die Endung .htm. Mein CMS ersetze dann schließlich noch , durch /

Komplettiert wurde meine Modifikation mit einem einfachen Eintrag in die Config des CMS. So lässt sich der "SEO-mode" ein und ausschalten.

Übersetzt auf das Problem von Magic heißt das: Ich würde dir empfehlen erst dein Skript zu ändern. Das macht dir die Arbeit mit mod_rewrite wesentlich einfacher. Den so wie deine URLs momentan aussehen, ist die Länge und Anzahl der Parameter ja nicht immer gleich. Ich denke, daran krankt es.\n\n

<!--EDIT|cbxk1xg|1139959542-->
Gast Gast
 2006-02-15 16:29
#29870 #29870
na klar, warum sollte es auch einfach sein ;o)
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2006-02-12 22:31.