首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户名修改重写

问用户名修改重写
EN

Stack Overflow用户
提问于 2011-02-26 08:44:59
回答 2查看 580关注 0票数 1

我需要修改重写的帮助...我正在试着改变

代码语言:javascript
复制
domain.com/user.php?username=foo

至

代码语言:javascript
复制
domain.com/foo

我目前的重写是:

代码语言:javascript
复制
RewriteRule username/(.*)/ user.php?username=$1 [L]
RewriteRule username/(.*) user.php?username=$1 [L]

哪种输出

代码语言:javascript
复制
domain.com/username/foo

但我对此并不满意。

EN

回答 2

Stack Overflow用户

发布于 2011-02-26 09:04:21

您需要:

代码语言:javascript
复制
RewriteRule ^(.*)/ user.php?username=$1 [L]
RewriteRule ^(.*) user.php?username=$1 [L]

这会将每个请求发送到user.php。如果你不想这样做,最好是把所有东西都发送到一个能更好处理的php路由脚本,例如,

代码语言:javascript
复制
# 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]

然后在路由器中,您可以从$_SERVER['REQUEST_URI']获取路径,例如,

代码语言:javascript
复制
$urlparts = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $urlparts['path']);

if(isUser($path[0])) {
    $_GET['username'] = $path[0];
    include 'user.php';
}
票数 3
EN

Stack Overflow用户

发布于 2011-02-26 08:55:48

代码语言:javascript
复制
RewriteRule (.*) user.php?username=$1 [L]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5124269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档