2017-09-05 107 views
1

當我嘗試這樣做htaccess的:htaccess的清潔網址的個人資料頁

RewriteEngine on 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
ErrorDocument 404 /includes/errors/404.php 
ErrorDocument 403 /includes/errors/403.php 
RewriteRule ^profile/([^/]+)$ /profile?user=$1 

它的工作原理,但我讀的名字是錯的。 當我做例如http://localhost/profile/Andre我得到Andre.php作爲用戶,而不是安德烈。 有人知道如何解決這個問題嗎?

回答

2

發生這種情況是因爲您根據自己的第一條規則進行了重寫,並且因爲它被設置爲最後一次,所以會發生這種情況。嘗試移動上方的簡檔規則:

RewriteEngine on 
RewriteRule ^profile/([^/]+)$ /profile?user=$1 [NC,L] 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
ErrorDocument 404 /includes/errors/404.php 
ErrorDocument 403 /includes/errors/403.php 

我還添加[NC,L]來標記規則爲ñöÇ ase和大號 AST