2016-05-16 19 views
1

Meine aktuelle URL: http://website.com/user.php?user=jon Was ich will es so aussehen: http://website.com/jon.htaccess-Rewriting funktioniert nicht

Dies ist, was ich zur Zeit in meiner .htaccess-Datei

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST-FILENAME} !-d 
RewriteCond %{REQUEST-FILENAME} !-f 
RewriteCond %{REQUEST-FILENAME} !-l 

RewriteRule . user.php?user=%{REQUEST-FILENAME} 

Aber es funktioniert nicht.

+0

Sie könnten auch versuchen - RewriteRule (. *) user.php? user = $ 1 – Brett

+0

das funktioniert; irgendwie. Es bringt mich auf die Seite, die ich will, aber es sagt, der Benutzer ist nicht in der Datenbank. – Critical

+0

können Sie eine print_r ($ _ GET); auf der Seite, die lädt und zeigt uns die Ausgabe in Ihrer Frage (vielleicht sogar den Code auf user.php auch) – Brett

Antwort

2

Sie benötigen zu ändern - zu _ - es ist REQUEST_FILENAME nicht REQUEST-FILE-NAME

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule . user.php?user=%{REQUEST_FILENAME} 

Ich ziehe den regex Teil der Regel verwenden

RewriteRule ^(.*)$ user.php?user=$1 [NC,L] 
+0

Guter Punkt, sah ich sie als Unterstriche, würde ich auch die letzte Zeile zu ändern RewriteRule^(. *) $ User.php? User = $ 1 [NC, L] –

+0

@JamesLockhart Möchten Sie die Bearbeitung und ich machen werde es genehmigen und Sie können einen Ruf bekommen – Brett

+0

Fertig, und danke :) –

2

Haben Sie AllowOverride für dieses Verzeichnis in Ihren virtuellen Hosts oder Ihrer Apache-Konfiguration aktiviert?

z.B.

<Directory "/"> 
    AllowOverride All 
</Directory> 

Wenn nicht, wird Ihre lokale htaccess-Datei ignoriert. Hast du auch mod_rewrite aktiviert?

Wenn Sie unsicher sind, überprüfen Sie Ihre Apache-Protokolldateien.

https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride

+0

mein Host erlaubt mir nicht, die Apache Config zu ändern. Wenn ich diese letzte Zeile zu 'RewriteRule 'ändere. user.php? user =% jon' es funktioniert, aber bringt mich nur auf diese Seite. – Critical

Verwandte Themen