开发者

Looking for help with 2-tier clean URL's using .htaccess

I am working on a site which will have two levels the URL reaches

My objective is to have clean URL's like this...

http://domain.com/username/dosomething

My ugly URL's currently look like this...

http://domain.com/index.php?page=username&command=dosomething

My attempt was this

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1&command=$2
RewriteRule ^([a-zA-Z0-9]+)/$1/$2 index.php?page=$1&am开发者_如何学编程p;command=$2


You're not using your backreferences correctly in the first part. Backreferences are parenthesised expressions that will then get filled into $1, $2 et al. in the second part of the rule. e.g.:

RewriteRule ^([^/]+)/([^/]+)$ /index.php?page=$1&command=$2

These parenthesized expressions match one or more non-/ characters and fill them into $1 and $2 respectively.


Your references are just referencing your entire URL so what you are telling it to give you is index.php?page={entire URL}&command={null}

You need to setup the URL and only use parenthesis around the variables page and command. So ^domain.com/([username]+)/(dosomething)

then rewrite with:

http://domain.com/index.php?page=$1&command=$2

provided that your page and command variables are username and dosomething respectively

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜