Php 用户名修改重写
我需要关于修改的帮助…我正在尝试改变Php 用户名修改重写,php,mod-rewrite,friendly-url,Php,Mod Rewrite,Friendly Url,我需要关于修改的帮助…我正在尝试改变 domain.com/user.php?username=foo 到 我目前的重写是: RewriteRule username/(.*)/ user.php?username=$1 [L] RewriteRule username/(.*) user.php?username=$1 [L] 哪个输出 domain.com/username/foo 但我对此不满意。你想要: RewriteRule (.*) user.php?username=$1 [
domain.com/user.php?username=foo
到
我目前的重写是:
RewriteRule username/(.*)/ user.php?username=$1 [L]
RewriteRule username/(.*) user.php?username=$1 [L]
哪个输出
domain.com/username/foo
但我对此不满意。你想要:
RewriteRule (.*) user.php?username=$1 [L]
RewriteRule ^(.*)/ user.php?username=$1 [L]
RewriteRule ^(.*) user.php?username=$1 [L]
这会将每个请求发送到user.php。如果您不希望这样,那么最好将所有内容发送到能够更好地处理事情的php路由脚本,例如
# if the requested file exists (e.g., css, javascript) then serve it up
# otherwise send to router.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ router.php [L]
然后在路由器中,您可以从$\u服务器['REQUEST\u URI']
获取路径,例如
$urlparts = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $urlparts['path']);
if(isUser($path[0])) {
$_GET['username'] = $path[0];
include 'user.php';
}
你想要:
RewriteRule ^(.*)/ user.php?username=$1 [L]
RewriteRule ^(.*) user.php?username=$1 [L]
这会将每个请求发送到user.php。如果您不希望这样,那么最好将所有内容发送到能够更好地处理事情的php路由脚本,例如
# if the requested file exists (e.g., css, javascript) then serve it up
# otherwise send to router.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ router.php [L]
然后在路由器中,您可以从$\u服务器['REQUEST\u URI']
获取路径,例如
$urlparts = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $urlparts['path']);
if(isUser($path[0])) {
$_GET['username'] = $path[0];
include 'user.php';
}