htaccess获取重定向URI

时间:2015-04-24 18:32:05

标签: php apache .htaccess mod-rewrite redirect

我重写了这样的规则:

RewriteRule ^/d/categories$ /categories.php [L]

提供$_SERVER['REQUEST_URI'] = / d / categories

但现在我有一些要求添加更多级别的重定向

RewriteRule ^/$ /d/categories [L]

提供$_SERVER['REQUEST_URI'] = (空)

我们可以获得任何htaccess标志,或者我现在在想什么是不可能的?

$_SERVER['REQUEST_URI'] = / d / categories

我已经尝试LPPT没有效果。我无法添加重定向规则,以便从/重定向到/d/categories,而不是规则1

3 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要2条规则。将根目录重定向到您的/ d / categories,然后让PHP文件处理该规则。服务器无法发送尚未请求的URI请求。如何知道用户是否在没有告知的情况下转到root / d / categories?它必须首先重定向,或者您需要假设如果REQUEST_URI为空,则它们会请求您的主域名。

试试这些规则

RewriteRule ^/?$ /d/categories [R=301,L]
RewriteRule ^/?d/categories$ /categories.php [L]

答案 1 :(得分:0)

试试这个:

RewriteRule ^/$ /d/categories [L, R=301]

答案 2 :(得分:0)

[L]代表"最后"。

所以你需要在第一个声明中摆脱它:

RewriteRule ^/d/categories$ /categories.php
RewriteRule ^/$ /d/categories [L]