大家。我想模拟像Youtube这样的用户系统。例如,如果您输入youtube.com/,它会转到他们的个人资料。我目前正在运行类似的东西。如果您转到example.com/user/,mod_rewrite会将网址更改为example.com/user/?channel=。这工作正常,但我不希望更改URL的可视化。有什么方法我仍然可以将用户名传递给PHP,同时拥有人类可读的URLS?这是我的.htaccess文件的当前示例
RewriteEngine On
RewriteBase /user/
RewriteRule ^(.+) ?channel=$1 [R]
答案 0 :(得分:0)
是的,您可以:不要将[R]
- an "external" redirect用于指定的位置。
答案 1 :(得分:0)
这些规则是你想要的吗?
RewriteRule ^user/? /user/?channel=
RewriteRule ^user/([a-z0-9-_]+)/? /user/?channel=$1
您正在寻找的PHP提示:
<?php
echo basename($_SERVER['REQUEST_URI']);
?>
答案 2 :(得分:0)
如果我理解你想要这个
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/user/(.*)$
RewriteRule ^ - [S=1,L]
RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteRule ^ /user/?channel%1