用户名 mod 重写

发布于 2024-10-19 05:11:25 字数 366 浏览 7 评论 0原文

我需要 mod 重写方面的帮助...我正在尝试更改

domain.com/user.php?username=foo

domain.com/foo

我当前的重写是:

RewriteRule username/(.*)/ user.php?username=$1 [L]
RewriteRule username/(.*) user.php?username=$1 [L]

输出

domain.com/username/foo

但我对此不满意。

I need help with mod rewrite ...I'm trying to change

domain.com/user.php?username=foo

to

domain.com/foo

My current rewrite is:

RewriteRule username/(.*)/ user.php?username=$1 [L]
RewriteRule username/(.*) user.php?username=$1 [L]

which outputs

domain.com/username/foo

but i'm not happy with that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

注定孤独终老 2024-10-26 05:11:25

您想要:

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]

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

$urlparts = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $urlparts['path']);

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

You want:

RewriteRule ^(.*)/ user.php?username=$1 [L]
RewriteRule ^(.*) user.php?username=$1 [L]

This will send every request to user.php. If you don't want that it's probably better to send everything to a php routing script that can handle things a bit better e.g.,

# 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]

Then in router you can get the path from $_SERVER['REQUEST_URI'] e.g.,

$urlparts = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $urlparts['path']);

if(isUser($path[0])) {
    $_GET['username'] = $path[0];
    include 'user.php';
}
苏璃陌 2024-10-26 05:11:25
RewriteRule (.*) user.php?username=$1 [L]
RewriteRule (.*) user.php?username=$1 [L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文