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: 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.