我正在使用网址达到
的两个级别的网站我的目标是拥有像这样的干净网址......
http://domain.com/username/dosomething
我丑陋的网址目前看起来像这样......
http://domain.com/index.php?page=username&command=dosomething
我的尝试就是这个
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1&command=$2
RewriteRule ^([a-zA-Z0-9]+)/$1/$2 index.php?page=$1&command=$2
答案 0 :(得分:0)
您在第一部分中没有正确使用您的反向引用。反向引用是带括号的表达式,然后将填充到$ 1,$ 2等。在规则的第二部分。 e.g:
RewriteRule ^([^/]+)/([^/]+)$ /index.php?page=$1&command=$2
这些带括号的表达式匹配一个或多个非/字符,并分别填入$ 1和$ 2。
答案 1 :(得分:0)
您的引用只是引用您的整个网址,所以您要告诉它的是 index.php?page = {完整网址}& command = {null}
您需要设置URL并仅在变量页面和命令周围使用括号。所以 ^ domain.com /([用户名] +)/(DoSomething的)
然后重写:
http://domain.com/index.php?page= $ 1和;命令= $ 16
如果您的页面和命令变量分别是username和dosomething