Seite 1 von 2

Suche Mod_Rewrite Profi

Verfasst: 26.05.2008, 21:26
von ich61
Wer kennt sich mit Mod_rewrite bestens aus??Ich habe ein Problem mit der Groß und Klein schreibung von suchbegriffen.

Suchbegriffe die man über dein suchfeld eingibt sollen (egal ob man diese klein oder groß schreibt im suchfeld) als Großgeschrieben in der URL ausgegeben werden.

zb so

www.domain.de/themen/Google.html


Mit PHP ist dies nicht möglich da die momentanen rewrite rules anscheind dann wieder alles überschreiben und klein geschrieben ausgegeben werden.(www.domain.de/themen/google.html)

Wer kann mir da helfen???

Bitte PN an mich

Verfasst:
von

Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Verfasst: 26.05.2008, 22:12
von net(t)worker
mach das über php... jeden suchbegriff auf großbuchstaben am anfang prüfen, wenn klein geschrieben dann einen 301 auf Suchbegriff mit Großbuchstaben am Anfang...
aber auch leerzeichen und Sonderzeichen wie - beachten und das wort danach auch wieder groß schreiben etc.....

Verfasst: 27.05.2008, 07:16
von ich61
Ich habs ja mit php versucht.Aber es geht nicht.Die URLs werden jetzt schon umgeschrieben per mod_rewrite aber es wird halt nicht auf groß und klein schreibung geachtet.

Ich habe in PHP das schon geändert das die Suchbegriffe Großgeschrieben ausgegeben werden.Bei der Status meldung die dann kommt steht auch der Suchbegriff dann Großgeschrieben da aber in der URL halt nicht.

Ich denke mal modrewrite schreibt dann die PHP ausgabe wieder klein.

Verfasst:
von

Verfasst: 27.05.2008, 07:33
von kev299
also wenn ich dich jetzt richtig verstanden habe definierst du die Url in php mit Großbuchstaben, jedoch macht eine mod_rewrite regel das ganze zu kleinbuchstaben ,richtig?

Dann wäre sowas hier vielleicht hielfreich: [a-zA-z].

Verfasst: 27.05.2008, 07:38
von ich61
Ja genau Du hast mich richtig verstanden.PHP gibts groß aus aber Mod_rewrite schreibts dann wieder klein.
Wenn du mir sagen kannst wie dann die Rules aussehen müssen kann ichs ja mal versuchen.So sehen die beiden jetzt aus

RewriteRule ^themen/([^/]+)\.html$ /s.php?s=$1&p=$2 [L]
RewriteRule ^themen/([^/]+)/seite-([1-9][0-9]*)\.html$ /s.php?s=$1&p=$2 [L]

Verfasst: 27.05.2008, 08:26
von Southmedia
ich61, ich verstehe immer noch nicht was genau das Problem ist. mod_rewrite 'schreibt' keine URLs, sondern kann nur URLs, die du aufrufst, in andere URLs umsetzen. Woher kommen denn die Links? Irgendwo muss der Aufruf von /themen/Google.html ja verlinkt sein, und dort kannst du das ja einfach ändern.

Wenn ich dich falsch verstanden habe, beschreibe doch nochmal verständlich was du hast und was du willst.

Verfasst: 27.05.2008, 10:17
von kev299
probier das mal:


RewriteRule /themen/([A-Z]+).html$ s.php?s=$1&p=$2 [L]

Verfasst: 27.05.2008, 11:17
von ich61
Geht nicht dann bekomme ich einen error.

Das scheint nicht so einfach zu sein deswegen suche ich jemanden der sich richtig gut mit mod rewrite auskennt.

Verfasst: 27.05.2008, 11:49
von Southmedia
Beantworte doch einfach meine Fragen weiter oben, dann kann ich vielleicht helfen...

Verfasst: 27.05.2008, 11:56
von ich61
Southmedia,die URLs schreibt PHP und Mod-Rewrite setzt sie um in zb /themen/Google.html

Ich habe in PHP das nun schon so geändert das wenn jemand über die suche nach einem Begriff sucht der Begriff immer großgeschrieben ausgegeben wird.Aber in der URL wird er trotzdem klein geschrieben ausgegeben was an den Modrewrite regeln nur liegen kann.Die original URLs die php ausgibt sehen so zb aus

www.domain.de/?s=suchbegriff

modrewrite macht daraus dann

www.domain.de/themen/suchbegriff.html


ich weiß nicht wie ich es noch erklären soll.Ich hoffe Du hast es besser verstanden jetzt.


EDIT:Ich sehe grad ich hab mich mit den rewrite rules vertan diese rule ist für die suche

RewriteCond %{THE_REQUEST} \?s=([^&\ ]+)
RewriteRule ^$ /themen/%1.html? [L,R=302]

Verfasst: 27.05.2008, 11:59
von Southmedia
Wieso lässt du PHP nicht direkt die richtige URL /themen/suchbegriff.html ausgeben sondern baust da noch umständlich eine Weiterleitung ein?

Verfasst: 27.05.2008, 12:03
von ich61
Weil ich da das halbe script hätte umbauen müssen deswegen hab ichs so gelöst

Verfasst: 27.05.2008, 12:53
von Southmedia
Okay.

1. Welche URL wird also von der Suche aufgerufen?
2. Und wohin leitet sie weiter?
3. Und wohin sollte sie korrekt weiterleiten?

Verfasst: 27.05.2008, 14:50
von ich61
1. Diese URL wird von der Suche aufgerufen www.domain.de/?s=suchbegriff


2. Auf diese leitet sie weiter www.domain.de/themen/suchbegriff.html

3. Auf diese soll korrekterweise geleitet werden www.domain.de/themen/Suchbegriff.html also der Suchbegriff soll immer als Groß geschrieben ausgegeben werden momentan unterscheidet die suche zwischen groß und kleinschreibung

Verfasst: 27.05.2008, 16:50
von Southmedia
Also versuchst du auf Ebene der Weiterleitung (mod_rewrite) von Kleinschreibung auf Großschreibung zu wechseln. Das wird so nicht funktionieren, tut mir leid.

Du musst also im PHP-Skript irgendwo schon ucfirst() nutzen. Das einfachste wäre wohl /?s=suchbegriff nicht auf /themen/suchbegriff.html zu leiten sondern auf /rewrite.php?s=suchbegriff (mit mod_rewrite). Dann kannst du dort den Suchbegriff einlesen, in Großschreibung ändern und dann per PHP auf /themen/Suchbegriff.html weiterleiten.

Braucht keine Änderungen am Skript, sondern nur eine kleine zusätzliche Datei.