2013-03-17 49 views
1

我正在創建一個處理配置文件頁面的網站,我需要從URL中獲取用戶名,直到這一點都可以正常工作,但我在使用.htaccess時遇到了問題,而且我沒有知道如何解決這個錯誤 這是我第一次使用.htaccess 我使用的WAMP包 和瀏覽器給我這個錯誤後,我添加.htaccess文件,它隱藏包含它的文件夾。php mysql .htaccess

內部服務器錯誤 服務器遇到內部錯誤或配置錯誤,無法完成您的請求。 請通過admin @ localhost聯繫服務器管理員,告知他們發生此錯誤的時間以及您在此錯誤出現之前執行的操作。 有關此錯誤的更多信息可能在服務器錯誤日誌中可用。 這是profile.php

profile.php
// updatede for using the GET methode for ge the data nedded from the url 
    if(isset($_GET['u'])) 
    { 
      $username = mysql_real_escape_string($_GET['u']); 
      if(ctype_alnum($username)) 
     { 


      //check user exist 
      $check = mysql_query("SELECT user_name, first_name FROM user WHERE user_name = '$username' ")or die(mysql_error()); 
      if (mysql_num_rows($check)==1) 
      { 
       $get = mysql_fetch_assoc($check); 
       $username = $get['user_name']; 
       $fname = $get['first_name']; 
      } 
      else 
      { 
       echo "<h2>User does not Exist!!</h2>"; 
       exit(); 
      } 
      } 
     } 

     echo "$username"; 
?>  

的.htaccess
RewriteEngine On 

RewriteRule^([a-zA-Z0-9_-]+)$ profile.php?u=$1 



RewriteRule^([a-zA-Z0-9_-]+)/$ profile.php?u=$1 
+0

你有沒有嘗試在'RewriteRule'和你的重寫規則之間添加空格? – Repox 2013-03-17 20:08:10

+0

我正在使用我的手機瀏覽器,所以很難說,但我認爲你的格式是錯誤的,應該有一個空格後重新編寫的^ – StrikeForceZero 2013-03-17 20:11:31

+0

是他們是這兩行之間的空間 RewriteRule ^([a-zA- Z0-9 _-] +)$ profile.php?u = $ 1 RewriteRule ^([a-zA-Z0-9 _-] +)/ $ profile.php?u = $ 1 – user2172837 2013-03-17 20:15:21

回答

1

不要將您的.htaccess文件保存爲UTF8字符編碼。保存在ANSI

+0

爲什麼你會這樣做一件事,我一直使用UTF-8沒有任何問題 – Sebas 2013-03-17 20:54:00

+0

@ Sebas我有經驗。也許一些Apache服務器有問題。 – Amir 2013-03-17 20:56:40

+0

嗯所以如何解決這個問題,我使用它的任何教程?是因爲直到現在我沒有得到這個錯誤 – user2172837 2013-03-17 21:01:26

0

假設profile.php沒有錯誤的一部分。嘗試刪除.htaccess文件的最後一行。再在Rewriterule和'^'之間加一個空格。 由於ctype_alnum()函數的原因,向正則表達式添加空白與此無關。這隻允許字母字符。

只需填寫Flash給你的.htaccess文件和(ofcourse)刪除前行:

RewriteEngine敘述在
重寫規則^([A-ZA-Z0-9 _-] +)$ profile.php ?u = $ 1

+0

我刪除最後一行,但仍然得到相同的錯誤信息 – user2172837 2013-03-17 20:24:14

+0

我照你說的做了,但錯誤仍然相同,文件夾仍然沒有出現 – user2172837 2013-03-17 20:52:52