php-重写动态网址

我有一个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]
上一篇:nginx中location的顺序(优先级)及rewrite规则写法


下一篇:nginx location if 的匹配规则