0

每个人。我想模拟一个像 Youtube 这样的用户系统。例如,如果您键入 youtube.com/,它会将您带到他们的个人资料。我目前正在运行类似的事情。如果您访问 example.com/user/,mod_rewrite 会将 url 更改为 example.com/user/?channel=。这可以正常工作,但我不希望更改 URL 的视觉效果。有什么方法可以在拥有人类可读 URL 的同时将用户名传递给 PHP?这是我的 .htaccess 文件的当前示例

RewriteEngine On
RewriteBase /user/
RewriteRule ^(.+) ?channel=$1 [R]
4

3 回答 3

0

是的,你可以:不要使用[R]——这是一个“外部”重定向到指定位置。

于 2013-04-06T03:47:22.043 回答
0

这些规则是您想要的吗:

RewriteRule ^user/? /user/?channel=
RewriteRule ^user/([a-z0-9-_]+)/? /user/?channel=$1

以及您正在寻找的 PHP 提示:

<?php
echo basename($_SERVER['REQUEST_URI']);
?>
于 2013-04-06T07:48:05.793 回答
0

如果我明白你想要这个

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/user/(.*)$ 
RewriteRule ^ - [S=1,L]
RewriteCond %{REQUEST_URI} ^/(.*)$ 
RewriteRule ^ /user/?channel%1  
于 2013-04-12T05:05:13.750 回答