htaccess 将规则重写为 /user/home
htaccess Rewrite Rule to /user/home
我需要处理这种URL:
localhost/twitter/user/home
我的重写规则是:
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url= [NC,L]
^([^/\.]+)/([^/\.]+)/?$ index.php?url=
指的是模式
[NC]
指的是没有case
[L]
标志导致 mod_rewrite
停止处理规则集
我需要以以下形式获取 url:
$_GET['url'] = user/home
但我得到:
$_GET['url'] = user
已解决
RewriteRule ^([^/\.]+/[^/\.]+)/?$ index.php?url= [NC,L]
改变
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url= [NC,L]
至
RewriteRule ^([^/\.]+)/([^\.]+)/?$ index.php?url= [NC,L]
你应该得到 user/home
这是由您的重写规则中的分组引起的。第一个 ()
之间的任何内容都设置为 </code>。要访问 url 的第二部分 (<code>
)(在您的情况下是 home
,您的规则中第二个 ()
之间的任何内容),您可以
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url=&action= [NC,L]
或将您的规则重写为
RewriteRule ^([^/\.]+/[^/\.]+)/?$ index.php?url= [NC,L]
我需要处理这种URL:
localhost/twitter/user/home
我的重写规则是:
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url= [NC,L]
^([^/\.]+)/([^/\.]+)/?$ index.php?url=
指的是模式
[NC]
指的是没有case
[L]
标志导致 mod_rewrite
停止处理规则集
我需要以以下形式获取 url:
$_GET['url'] = user/home
但我得到:
$_GET['url'] = user
已解决
RewriteRule ^([^/\.]+/[^/\.]+)/?$ index.php?url= [NC,L]
改变
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url= [NC,L]
至
RewriteRule ^([^/\.]+)/([^\.]+)/?$ index.php?url= [NC,L]
你应该得到 user/home
这是由您的重写规则中的分组引起的。第一个 ()
之间的任何内容都设置为 </code>。要访问 url 的第二部分 (<code>
)(在您的情况下是 home
,您的规则中第二个 ()
之间的任何内容),您可以
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?url=&action= [NC,L]
或将您的规则重写为
RewriteRule ^([^/\.]+/[^/\.]+)/?$ index.php?url= [NC,L]