Mod_rewrite

Hallo,

ich möchte meine URL verändern.
Aus:
123.de/index.php?q=category/1
soll:
123.de/category/1 werden.

Das soll auch bei einem Aufruf ohne index.php funktionieren.

Inhalt der .htaccess:

RewriteEngine On 
RewriteRule ^([a-z]+)/$ /index.php?q=$1

Es wird allerdings nichts verändert.

Wie muss ich die .htaccess verändern, dass die URL verändert wird?

danke

mfg tobsp

Das Muster in deiner RewriteRule fordert beliebig viele Zeichen aus der Zeichenklasse von a-z, gefolgt von einem Slash.

Passt das auf einen Request wie den nach “category/1”?

keine ahnung - das ist ja das problem

Lösung: Ahnung besorgen gehen.

was für einen anhang?

Hi,

Lesen und verstehen, da steht “Ahnung” wie Knowhow und nicht “Anhang” wie Attachment :wink:

lmgtfy.com/?q=mod_rewrite
Hier schon geschaut?

ups ist schon spät

hab wirklich anhang gelesen und nicht ahnung

ja bei google hab ihc schon geschaut, da bin ich auf obern gepostete lösung gestoßen

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L]

???

Das heißt, dass jedes Zeichen bis auf “/” vorkommen darf. Ist das sinnvoll?

So, hier mal ein annehmbarer Entwurf:

#Mod-Rewrite aktivieren
RewriteEngine On

#Überprüfen ob die Datei wirklich existiert
RewriteCond %{REQUEST_URI} !-U

#Wenn nicht, dann Umleiten
RewriteRule - /index.php?q=%{REQUEST_URI} [QSA]

Ist übrigens ungetestet

[quote=“michi7x7”]Das heißt, dass jedes Zeichen bis auf “/” vorkommen darf. Ist das sinnvoll?

So, hier mal ein annehmbarer Entwurf:

#Mod-Rewrite aktivieren
RewriteEngine On

#Überprüfen ob die Datei wirklich existiert
RewriteCond %{REQUEST_URI} !-U

#Wenn nicht, dann Umleiten
RewriteRule - /index.php?q=%{REQUEST_URI} [QSA]

Ist übrigens ungetestet[/quote]

nee, passt auch nicht :neutral_face:

Ah, gut zu wissen…