URL重写。不止一个htaccess文件

时间:2013-12-08 20:32:12

标签: php .htaccess url-rewriting

我有多个.htaccess文件。在文件夹/用户中,我有.htaccess文件,其中包含下一个内容:

RewriteEngine On
RewriteBase /user/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]

这完美无缺。当访问者类型/用户/ ID实际上他用特定ID调用php脚本index.php时。

现在我在用户文件夹中创建子文件夹,其结构如下: /用户/ JSON

我需要的是当访问者类型/ user / ID / json调用index.php脚本时,该脚本位于具有特定ID的json文件夹中。

也许我在想错。

请欢迎任何形式的帮助。

提前致谢

编辑:更多信息在下面

我输入

时会遇到这种情况

/ user / 5(我的ID = 5的用户) / user / 100(我的ID = 100的用户)

完美无缺,我在/ user /中添加了.htaccess文件和index.php的方式。

现在我希望在下一个方式获得json的结果: 当我输入/ user / 5 / json时,我希望获得ID = 5的用户。如果我输入/ user / 100 / json,我想要ID = 100的用户。

3 个答案:

答案 0 :(得分:0)

您应该能够将另一个.htaccess放在/ user / ID / json中,只需更改一行:

ReWriteBase /user/ 

ReWriteBase /user/ID/json/

答案 1 :(得分:0)

/user/.htaccess

中添加此新规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/json/?$ json/index.php?id=$1 [NC,L,QSA]

确保json目录中没有.htaccess

答案 2 :(得分:0)

你可以尝试:

RewriteEngine On RewriteBase / user /
RewriteCond%{REQUEST_FILENAME}! - f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule ^([0-9] +)/?([A-Z] [a-z])+ $ index.php?id = $ 1& format = $ 2 [L,QSA]

我没有测试过这个。