我有一个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/
)。
我知道在这种情况下不需要重写,但我正在将其作为一种测试项目,以掌握各种功能和实践的实际用途。
提前致谢。
答案 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]