在htaccess特定需求中重写URL

时间:2013-12-06 11:15:35

标签: php apache .htaccess url-rewriting

我有特定的要求...我想在.htaccess文件中进行URL重写,该文件适用于下一个方式:

如果用户打开网址:

/user.php?id=1 

需要重定向到:

/user/1/

如果用户打开网址:

/user.php?id=100

需要重定向到:

/user/100/

如果打开:

/getJson.php?id=1

需要重定向到:

  /user/1/json

如果:

/getJson.php?id=99

比:

/user/99/json

除此之外,我还有其他问题。我在我的根文件夹中创建了下一个文件夹:

/user
/user/json

我知道如果我在文件夹/用户中创建一个名为/ 1的附加文件夹,并且具有如下结构: / user / 1 /

如果我在该文件夹中创建index.php,以便我们有这样的情况:

/user/1/index.php

在这种情况下,我的页面可以在/ user / 1 /

访问

但我知道这是不好的做法。是否可以避免创建文件夹?我想只有两个文件夹: / user和/ user / json以及我的页面可以在下一个URL(例如)访问:

/user/100
/user/50
/user/50/json
/user/100/json

提前致谢并感谢抱歉。

1 个答案:

答案 0 :(得分:0)

您需要在此处使用Apache mod_rewrite模块

您的要求的规则如下所示。但是我没有测试过这些规则

RewriteRule  /user.php?id=([0-9]+)  /user/$1 [L]
RewriteRule  /getJson.php?id=([0-9]+)  /user/$1/json [L]