htaccess在URL中重写GET变量,但仍然可以访问它们

时间:2012-06-08 19:21:54

标签: php .htaccess mod-rewrite

我正在尝试在我的.htaccess文件中添加一些内容,以便我更改以下网址:

http://www.mysite.com/profile?user=theuser

类似于:

http://www.mysite.com/profile/theuser

但是在页面中,仍然可以执行以下操作:

echo $_GET['user']; // echos "theuser"

这可能吗?我该怎么做?

注意:我正在尝试获取地址栏中的网址以显示http://www.mysite.com/profile/theuser

2 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^(profile)/(theuser)/?$ $1?user=$2 [L,QSA,NC]

答案 1 :(得分:0)

是的,这就是URL重写的设计方式。

将URL内部重写到

http://www.mysite.com/profile?user=theuser

格式。