我有一个user.php文件,其中包含不同页面的代码-帐户,数据和家庭.当前,它们是通过带有GET参数的动态网址访问的,如下所示:
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 /.
我已经尝试了一些来自Web的.htaccess规则,但是这些规则完全不起作用,或者它们要求我通过user.php来访问重写的url,就像具有参数一样混乱且“难看”在网址中(如http://localhost/user.php/pagename/).
我知道在这种情况下不需要重写,但是我正在将其作为一种测试项目进行研究,以掌握各种功能和实践的实际用途.
提前致谢.
解决方法:
通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在DOCUMENT_ROOT目录下的.htaccess中:
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]