正则表达式 – 使用.htaccess重定向到动态相对路径?

是否有可能使.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部分在文件系统上没有作为“物理”文件夹或文件.

我需要实现的目标如下:当您使用网址访问时

http://domain.com/htroot/aaa/xyz

它从中获取内容

http://domain.com/htroot/aaa/ (or http://domain.com/htroot/aaa/index.PHP,either way)

index.PHP开始的地方 – >我可以从REQUEST_URI解析xyz并处理它以提供它指定的正确内容,而页面的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]

如果第一个通配符匹配(.*)是aaa而第二个通配符匹配(.*)是xyz(htroot / aaa / xyz),它将从中获取内容

htroot/aaa/index.PHP?data=xyz

并且您将能够使用$_GET [‘data’]在index.PHP获取值xyz

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...