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';
}