2016-10-25 2 views
1

Ich habe ein Problem mit URL-Umschreibung.URL-Umschreibung - Einfache Ausgabe

ich einfach bin versucht, wie Smart-URL zu umleiten www.name.com/demo/profile an die bestehende url: www.name.come/demo/index.php s = Profil

Ich habe meine .htaccess im Root-Verzeichnis abgelegt.

Hier ist mein Code:

RewriteEngine On 
RewriteRule ^demo/([a-z]+) demo/index.php?s=$1& [NC,L] 

Wenn ich etwas schreiben wie www.name.com/demo/profile es funktioniert nicht.

Mod Rewrite auf dem Server ist aktiv und es funktioniert (ich habe andere Beispiele versucht).

Danke!

Update

Mit Zahlen es funktioniert.

Meine Regel:

RewriteEngine On 
RewriteRule ^demo/([0-9]+) demo/index.php?s=$1& [NC,L] 

Smart-url: www.name.com/demo/1
Bestehende url: www.name.come/demo/index.php s = 1

Warum funktioniert es nicht mit Zeichen?

+0

Wie funktioniert es nicht? - Es sollte * für das spezifische Beispiel gegeben werden. – CD001

+2

Welchen Fehler sehen Sie, wenn Sie zur URL gehen? – starkeen

+0

Nicht gefunden Die angeforderte URL/demo/profile wurde auf diesem Server nicht gefunden. – DevTen

Antwort

2

Sie müssen entweder einige Bedingungen für Ihre Regel hinzufügen oder den Abgleich etwas restriktiver machen. Versuchen Sie entweder:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^demo/([a-z]+) demo/index.php?s=$1& [NC,L] 

oder

RewriteEngine On 
RewriteRule ^demo/([a-z]+)$ demo/index.php?s=$1& [NC,L] 

Damit Ihr regex "index.php" nicht am Ende passen.

+0

Danke, aber es funktioniert immer noch nicht. Immer der gleiche Fehler: Nicht gefunden Die angeforderte URL/demo/Profil wurde auf diesem Server nicht gefunden. – DevTen