2012-09-11 397 views
1

我目前使用我的網站這個.htaccess文件多深的URL字符串,內部服務器錯誤 -

RewriteEngine On 
RewriteRule ^u/([^/]+)/[^/]+)/[^/]+)/?$ /index.php?username=$1&content=$2&type=$3 [L,QSA] 
RewriteRule ^u/([^/]+)/[^/]+)/?$ /index.php?username=$1&content=$2 [L,QSA] 
RewriteRule ^u/([^/]+)/?$ /index.php?username=$1 [L,QSA] 

,但我得到的錯誤

服務器遇到一個內部錯誤或配置錯誤並無法完成您的請求。

什麼,我想acheive是把這個網址

http://www.site.com/users/index.php?username=$1&content=$2&type=$3 

http://www.site.com/users/username/followers/newest 

回答

0

你缺少一些開放括號:

RewriteRule ^u/([^/]+)/[^/]+)/[^/]+)/?$ /index.php?username=$1&content=$2&type=$3 [L,QSA] 
RewriteRule ^u/([^/]+)/[^/]+)/?$ /index.php?username=$1&content=$2 [L,QSA] 
RewriteRule ^u/([^/]+)/?$ /index.php?username=$1 [L,QSA] 

需求爲:

# missing "(" here ----v and --v 
RewriteRule ^u/([^/]+)/([^/]+)/([^/]+)/?$ /index.php?username=$1&content=$2&type=$3 [L,QSA] 
RewriteRule ^u/([^/]+)/([^/]+)/?$ /index.php?username=$1&content=$2 [L,QSA] 
RewriteRule ^u/([^/]+)/?$ /index.php?username=$1 [L,QSA] 

此外,如果您希望URL看起來像http://www.site.com/users/username/followers/newest,請將^u/開頭更改爲^users/

+0

哈哈,原來是我爲自己寫的這個人有多奇怪。我打算把這個放在用戶/文件夾中,我在開始的時候給了什麼? – user1527354

+0

@ user1527354你是對的,不知道他們是如何在我的其他答案(我編輯)失蹤。如果你想把它放在'/ users /'目錄下,確保從正則表達式中刪除'^ u /',從目標中刪除前導'/',並在規則上面添加一個'RewriteBase/users /' 。 –

+0

完美的謝謝。但是當我在我的網站上使用.htaccess時,所有的.css都會搞砸。你有沒有經歷過這個? – user1527354