Zur Navigation

Seite umleiten

2 musikliebhaber11

Ich meine:

Wenn man

www.meinedomain.de/abcdef123456

eingibt

erscheint im Browser diese Seite:

http://www.meinedomain.de/catalogsearch/result/?q=123456

Das von Ihnen genannte, allgemeine Beispiel verstehe ich leider nicht ganz. Deshalb wäre es super, wenn Sie mir hier helfen könnten. :)

Regel: wenn nach dem Homepage-Namen eine Buchstabenfolge und dann mehrere Zahlen kommen soll die htaccess sich aus dem Gesamtpfad,
z.B. meinedomain.de/abcdef123456 nur die Zahlen "herauspicken" und dann http://www.meinedomain.de/catalogsearch/result/?q=123456 anzeigen.


13.03.2012 21:01

3 Jörg Kruse

Das würde ich so probieren:

RewriteEngine on
RewriteRule ^[a-z]+([0-9]+)$ catalogsearch/result/?q=$1

13.03.2012 22:50

4 musikliebhaber (Gast)

Geht leider nicht :(

14.03.2012 12:01

5 Jörg Kruse

"Geht leider nicht" ist leider keine ausreichende Fehlerbeschreibung, wo man weiterhelfen könnte ;)

1. was für eine URL rufst du konkret im Browser auf?

2. was genau passiert dann? falls eine Fehlermeldung erscheint, bitte dessen genauen Wortlaut wiedergeben

3. was sollte stattdessen passieren?

4. falls die .htaccess Datei weitere Direktiven enthält, die hier dazwischenfunken könnten, oder falls du den Code in Beitrag 3 in irgendeiner Weise abgeändert hast, bitte den kompletten Inhalt der .htaccess Datei hier einfügen

14.03.2012 12:19

6 musikliebhaber (Gast)

Ich habe einige Rewrites in der htaccess.

Der Fehler der erscheint ist ein klassischer 404

14.03.2012 13:34

7 musikliebhaber (Gast)

htaccess Inhalt (ohne das neue Rewrite):

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} cd=[A-Za-z]*([0-9]+)
RewriteRule ^html/cd_infos(_oben|_unten)?(_eng)?\.php$ http://www.meinedomain.de/catalogsearch/result/?q=%1 [R=301,L]
RewriteCond %{QUERY_STRING} coID=
RewriteRule ^shop/shop_content\.php$ http://www.meinedomain.de [R=301,L]
RewriteCond %{QUERY_STRING} cPath=
RewriteRule ^shop/index\.php$ - [G]
RewriteRule ^shop/images/ - [G]
RewriteRule ^fpx/ - [G]
RewriteRule ^pressespiegel/ - [G]
RewriteRule ^referenzen/ - [G]
RewriteRule ^undine/ - [G]
RewriteRule ^zenon/ - [G]
RewriteRule ^shop/kuenstlerhome/ - [G]
RewriteRule ^shop/admin/ - [G]
RewriteRule ^shop/lang/ - [G]
RewriteRule ^shop/media/ - [G]
RewriteRule ^shop/product_info\.php$ - [G]
RewriteRule ^shop/advanced_search_result\.php$ - [G]
RewriteRule ^shop/advanced_search\.php$ - [G]
RewriteRule ^shop/popup_image\.php$ - [G]
RewriteRule ^shop/logoff\.php$ - [G]
RewriteRule ^shop/account\.php$ - [G]
RewriteRule ^shop/shopping_cart\.php$ - [G]
RewriteRule ^shop/checkout_shipping\.php$ - [G]
RewriteEngine Off

14.03.2012 14:05

8 Jörg Kruse

Der Fehler der erscheint ist ein klassischer 404

Oft wird da noch der Pfad der Datei angegeben, die nicht gefunden wurde - daraus kann man gegebenenfalls weitere Rückschlüsse ziehen. Der Pfad kann nämlich durchaus abweichen von der URL in der Adresszeile.

In dem Zusammenhang kann auch noch die Beantwortung der Frage 1 relevant sein:

Zitat von Jörg
1. was für eine URL rufst du konkret im Browser auf?

zur htaccess Datei:
an welcher Stelle genau hast du die Rule eingefügt? Nach dem "RewriteEngine Off" kann sie z.B. nicht mehr wirksam sein.

14.03.2012 17:49

9 musikliebhaber (Gast)

Hallo Jörg,

ich hatte die Rewrite Regel hier eingefügt:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} cd=[A-Za-z]*([0-9]+)
RewriteRule ^html/cd_infos(_oben|_unten)?(_eng)?\.php$ http://www.meinedomain.de/catalogsearch/result/?q=%1 [R=301,L]
RewriteCond %{QUERY_STRING} coID=
RewriteRule ^shop/shop_content\.php$ http://www.meinedomain.de


HIER!


[R=301,L]
RewriteCond %{QUERY_STRING} cPath=
RewriteRule ^shop/index\.php$ - [G]
RewriteRule ^shop/images/ - [G]
RewriteRule ^fpx/ - [G]
RewriteRule ^pressespiegel/ - [G]
RewriteRule ^referenzen/ - [G]
RewriteRule ^undine/ - [G]
RewriteRule ^zenon/ - [G]
RewriteRule ^shop/kuenstlerhome/ - [G]
RewriteRule ^shop/admin/ - [G]
RewriteRule ^shop/lang/ - [G]
RewriteRule ^shop/media/ - [G]
RewriteRule ^shop/product_info\.php$ - [G]
RewriteRule ^shop/advanced_search_result\.php$ - [G]
RewriteRule ^shop/advanced_search\.php$ - [G]
RewriteRule ^shop/popup_image\.php$ - [G]
RewriteRule ^shop/logoff\.php$ - [G]
RewriteRule ^shop/account\.php$ - [G]
RewriteRule ^shop/shopping_cart\.php$ - [G]
RewriteRule ^shop/checkout_shipping\.php$ - [G]
RewriteEngine Off



Und ich rufe "www.meinedomain.de/abcdef123456" auf (also ohne ".html" oder so) und wollte das umleiten.

Aber das klappt nicht.

14.03.2012 18:36

10 Jörg Kruse

RewriteRule ^shop/shop_content\.php$ http://www.meinedomain.de


HIER!


[R=301,L]

Das [R=301,L] gehört aber noch zur vorherigen Rule!

Da dieses Auseinanderreißen aber nicht zu einem 404er, sondern zu einem 500er Fehler führen würde, liegt das Problem wohl woanders begraben. Ich habe mal getestet. Diese Zeile:

RewriteEngine Off

... sorgt nicht dafür, dass nachfolgende Rules nicht wirksam sind. Vielmehr überschreibt die Direktive das vorangehende "RewriteEngine On" mit der Folge, dass mod_rewrite in dieser Datei überhaupt nicht zur Ausführung kommt.

14.03.2012 21:08 | geändert: 14.03.2012 21:08