2013-05-19 127 views
3

我有一个包含不同的页面代码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/

我已经尝试了几个.htaccess规则,但是这些规则完全不起作用,或者他们要求我通过user.php去重新编写的URL,这就像是混乱和“丑陋”作为URL中的参数(如在http://localhost/user.php/pagename/中)。

我知道重写没有必要在这种情况下,但我正在为这是对测试项目的去与多种功能与实践的实际用途交手。

在此先感谢。

回答

3

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_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] 
+0

很好,谢谢Anubhava。有没有办法使'/ user /'重定向到或加载为'?page = home'? – jbirch

+0

是的,也可以做,让我编辑我的答案。 – anubhava