2017-08-27 45 views
0

這裏是我的.htaccess代碼:WAMP和XAMPP給內部服務器錯誤

RewriteEngine On  
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L,NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

<IfModule mod_rewrite.c>  
RewriteRule ^user/([0-9a-ZA-Z]+) user.php?page=$1 [NC,L] 
</IfModule> 

我想刪除.PHP從所有網頁,我使用上4行,我也想讓我的網址更乾淨,以便擴展我申請最後一行。 但是,當我應用這最後一行時,XAMPP和WAMP都開始顯示內部服務器錯誤。我想知道這是什麼原因。

如果我的代碼是錯誤的,那麼請建議我如何使URL更乾淨像波紋管:

http://localhost/project/user?user=ROYAL

我想要做它:

http://localhost/project/user/ROYAL

+2

你好,請刪除最後一段或編輯它,因爲它似乎是與URL重寫問題無關的第二個問題。 – tima

+0

@tima現在,我刪除了最後一段,現在可以告訴我什麼? – DevROYAL

+0

我正在評論你的帖子。我不是重寫URL的專家,但至少現在它不會因太寬泛而關閉。 – tima

回答

0

我從我的兄弟得到了答案: 我只需要更改:

RewriteRule ^user/([0-9a-ZA-Z]+) user.php?page=$1 [NC,L] 

到:

RewriteRule ^user/([\w+\s-]+)$ user?page=$1 

這只是一個Apache的版本問題,反斜槓被加入,以避免逃逸 這個問題被標識爲重寫規則:不能編譯正則表達式