重写动态网址

时间:2013-05-19 15:19:38

标签: php .htaccess rewrite

我有一个user.php文件,其中包含不同页面的代码 - 帐户,数据和家庭。它们目前通过带有GET参数的动态URL访问,如下所示:

http://localhost/user.php?page=home
http://localhost/user.php?page=account
http://localhost/user.php?page=data

他们都工作得很好,我对它的运作方式感到满意。但我希望它们显示为http://localhost/user/<thepagename>/,最好是?page=home http://localhost/user/

我已经尝试过一些来自网络的.htaccess规则,但这些规则要么完全不起作用,要么他们要求我通过user.php来获取重写的网址,这就像杂乱和丑陋一样在网址中包含参数(如http://localhost/user.php/pagename/)。

我知道在这种情况下不需要重写,但我正在将其作为一种测试项目,以掌握各种功能和实践的实际用途。

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

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

RewriteRule ^user/?$ /user.php?page=home [L,QSA,NC]

RewriteRule ^user/(.+?)/?$ /user.php?page=$1 [L,QSA,NC,NE]