2012-09-11 353 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