我有网站example.com
。
在其中一个文件夹中,我有一个不同的网站,可通过域exampleSubSite.com
访问,第二个网站的文件夹名为/exampleSubSiteFolder/
。
通过主站点.htaccess
中的重定向进行访问:
RewriteRule ^exampleSubSiteFolder - [L]
RewriteCond %{HTTP_HOST} ^(www\.)?exampleSubSite\.com$ [NC]
RewriteRule ^(.*)$ exampleSubSiteFolder/$1 [L]
但是,我不要希望可以从主站点的URL访问此文件夹:
exampleSite.com/exampleSubSiteFolder/
有人可以帮助我吗?我知道解决方案整体上很糟糕,但这并不取决于我。
答案 0 :(得分:1)
为此,在名为async
的文件夹中创建一个await
文件,并在其中添加以下内容:
response.IsSuccessStatusCode
但是,如果您使用的是Apache 2.4,那么您将使用以下代码:
exampleSubSiteFolder
因此,任何试图访问.htaccess
的人都会被停止。
答案 1 :(得分:1)
这就是我在虚拟主机环境中的表现(仅适用于2.4.x):
<Directory /path/to/exampleSubSiteFolder>
<If "%{HTTP_HOST} == 'exampleSite.com'">
Require all denied
</If>
<Else>
Require all granted
</Else>
</Directory>
如果您不是管理员,只能访问.htaccess,我只需将.htaccess放在指定目录中:
<If "%{HTTP_HOST} == 'exampleSite.com'">
Require all denied
</If>
<Else>
Require all granted
</Else>
我的建议,如果你可以管理网站和主要的conf,虚拟主机等,就不要使用.htaccess。
这就是假设你当然只有一个“全能”虚拟主机和/或.htaccess。
如果每个名称都有一个虚拟主机(这是每个人都应该这样做的话),那么在每个虚拟主机中允许所有被拒绝或被授予适当的位置就足够了。