首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果请求URI指向根目录中的文件/文件夹,则忽略RewriteRule子域

问如果请求URI指向根目录中的文件/文件夹,则忽略RewriteRule子域
EN

Stack Overflow用户
提问于 2016-07-02 00:03:56
回答 1查看 135关注 0票数 2

我用.htaccess设置子域,以便sub.domain.com指向/sub/

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule (.*) /sub/$1 [L]

问题是-假设我有两个文件夹sub和xyz。现在,如果我转到sub.domain.com/xyz,apache将转到根目录中的/xyz/文件夹,而不是/sub/xyz/ (大概是因为它对URI中的现有文件和文件夹有特殊处理)。

我是否可以在根文件夹中使用.htaccess来停止这种行为,而不需要访问apache呢?基本上,总是将子域重写到它们的文件夹中,即使URI指向根文件夹中的现有资源,而不是子域文件夹。

我知道我可以为子域创建一个单独的文件夹并以这种方式解决它,但是我这样做有几个原因:

  1. 我曾经使用托管的配置处理子域,在那里它会自动地将folder.domain.com重写/文件夹/使用一些神奇的apache配置,而不是htaccess。此设置没有导致此问题。
  2. 因为这是我最初的设置,所以我有几个PHP脚本,它们使用相对路径返回。我可以改变这一点和其他一些事情,但是如果有一个简单的解决方案,那就没有理由了。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-07-04 21:16:40

我已经很多年没有使用httpd了(自从nginx出现以来就没有必要使用了!),但是我不认为它有任何“对URI中现有文件和文件夹的特殊处理”。

我发现更有可能的情况是,您忽略了有关RewriteCond %{REQUEST_FILENAME} !-d之类的信息,这将使您的RewriteRule不适用于在重写规则本身的应用程序之前已经存在的URI中请求的目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38155215

复制
相关文章

相似问题

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