2009-05-26 11 views
0

Ich habe Probleme mit meinem ReWrite Code. Bitte beachten Sie, dass die .htaccess-Datei in der Sub-Domäne-Ordner (... public_html/Sub-Domain /).htaccess ModReWrite Hilfe

bin ich einfach versucht, eine Seite Anfrage neu zu schreiben:

http://subdomain.mysite.com/home 
http://subdomain.mysite.com/index.php?page=home 

Meine .htaccess-Datei sieht wie folgt aus. ..

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_])$ /index.php?page=$1 

Ist bei Ihnen alles herausspringen?

Antwort

3

Ihre aktuelle Regel funktioniert wahrscheinlich für URLs ein Zeichen lang (nach dem Schrägstrich)!

hinzufügen + ein, um anzuzeigen, oder mehr Zeichen oder ein * für null oder mehr

Versuchen

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_]*)$ /index.php?page=$1 
2

Wenn Sie die Regeln in einer .htaccess-Datei verwenden möchten, müssen Sie strippen das kontextabhängige Verzeichnispfadpräfix aus dem Muster RewriteRule. Wenn sich die .htaccess-Datei im Dokumentstamm / befindet, müssen Sie die führende / entfernen.

Zusätzlich müssen Sie den Zeichensatz quantifizieren. Ansonsten würde es nur ein Zeichen beschreiben.

versuchen also diese Regel:

RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1 
0

Ich denke

RewriteRule ^([^/]*)$ /index.php?page=$1 [L] 

in Ordnung ist;)

+0

Bitte geben keine Antwort basierend auf Gedanken. Der Code in Ihrer Antwort sollte getestet werden. – Starx