【发布时间】:2020-09-11 21:36:52
【问题描述】:
我的.htaccess 中有一个子域设置,它似乎只适用于默认的index.html 页面。我希望它适用于与子域对应的文件夹中的任何页面。出于隐私考虑,假设我的域是example.org。文件的相关部分如下所示...
#subdomain
RewriteCond %{HTTP_HOST} ^subname\.example\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.subname\.example\.org$
# (a few lines added by my hosting company deleted -- see below)
RewriteRule ^/?$ "http\:\/\/example\.org\/subname\/" [R=301,L]
所以上面的结果是,如果我的“public-html”(根?)中有一个index.html 页面,http://example.org 和一个不同的index.html 存储在子文件夹中(具有相同的名称作为子域),我会得到这个预期的结果,它有效......
浏览至:http://example.org 导致查看http:// example.org/index.html
浏览到:http://subname.example.org 结果查看http:// example.org/subname/index.html
到目前为止很棒。这是我创建域名时所期望的。但是,考虑到存储在 subname 文件夹中的特定文件 myfile.html,我希望这也能工作,但它不会......
浏览到:http://subname.example.org/myfile.html 会导致 404 错误。
尽管浏览到http://example.org/subname/myfile.html 工作正常,但还是会这样。在这种情况下会显示myfile.html。那么我可以做些什么来修改子域代码以获得我正在寻找的结果?也就是说,浏览到http://subname.example.org/ANYFILE 应该和浏览到http://example.org/subname/ANYFILE 一样有效,无论'ANYFILE' 是什么。毕竟,这是我开始设置子域的主要原因之一!
注意:我承认我依靠托管公司的 cPanel 实用程序来创建子域代码,因此我首先向他们的技术支持寻求帮助。长话短说他们没有。也许我所希望的实际上是不可能的?
此外,我从代码中删除的行与我的托管公司在某个时候添加的名为“知名/acme-challenge”的东西有关。由于删除它们对我所描述的行为没有影响,因此我将其省略以避免混淆问题。
【问题讨论】:
-
.htaccess全部小写。