是否可以使 .htaccess “理解”动态相对路径并正确重定向到它们?
我的设置如下:
http://domain.com/htroot/aaa/xyz
http://domain.com/htroot/bbb/xyz
http://domain.com/htroot/ccc/xyz
等等。为了举例,“htroot”包含我需要修改的.htaccess。以下子级别(aaa、bbb、ccc)可以是任何 a-z0-9 名称,并且文件夹具有 index.php(或要重定向到的任何其他 .php)。这xyz
应该作为某种参数,请参阅下一部分。这xyz
部分在文件系统上不作为“物理”文件夹或文件。
我需要实现的是以下内容:当您使用 url 访问时
http://domain.com/htroot/aaa/xyz
它从获取内容
http://domain.com/htroot/aaa/ (or http://domain.com/htroot/aaa/index.php, either way)
在index.php开始的地方->我可以得到xyz
从 REQUEST_URI 解析并处理它以提供它指定的正确内容,而页面的 URL 保持为http://domain.com/htroot/aaa/xyz
,自然。
到目前为止,如果每个子级别(aaa 等)都有自己的 .htaccess,我已经成功实现了这一点,但我需要一个只有一个 .htaccess 位于htroot
处理这个问题。我猜测这可能与 .htaccess 中的 $0 参数有关,但不确定。
您可能想要执行如下操作:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ /htroot/$1/index.php?data=$2 [L]
如果第一个通配符匹配(.*)
is aaa
和第二个通配符匹配(.*)
is xyz
(htroot/aaa/xyz) 它将从以下位置获取内容
htroot/aaa/index.php?data=xyz
你将能够获得价值xyz在index.php中$_GET['data']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)