首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用.htaccess重定向至动态相对路径?

使用.htaccess重定向至动态相对路径?
EN

Stack Overflow用户
提问于 2012-03-07 04:11:32
回答 3查看 3.5K关注 0票数 5

有没有可能让.htaccess“理解”动态的相对路径并正确地重定向到它们?

我的设置如下:

代码语言:javascript
运行
复制
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访问时

代码语言:javascript
运行
复制
http://domain.com/htroot/aaa/xyz

它从以下位置获取内容

代码语言:javascript
运行
复制
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,但我需要一个在htroot中只有一个.htaccess来处理这个问题的a。我猜这可能与.htaccess中的$0参数有关,但不确定。

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-07 04:47:25

您可能想要执行如下操作:

代码语言:javascript
运行
复制
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

票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9591100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档