我的旧网站是通过手动编码HTML构建的,目录结构如下:
public_html
.htaccess
index.html
...
content_folder
docs_folder
.htaccess
doc1.html
doc2.html
doc3.html
...
我的新网站是使用CMS将其网页存储在数据库中构建的,因此没有像上面所示的传统网站目录结构。
上面的public_html/docs_folder/.htaccess
文件包含以下规则:
# Only permit access from links coming from my website (e.g.http://www.mydomain.com).
SetEnvIf Referer http://www.mydomain.com internal
<Files *>
order Deny,Allow
Deny from all
Allow from env=internal
</Files>
由于新网站中没有目录结构,我想知道我是否可以包含上述public_html/docs_folder/.htaccess
规则,这些规则仅适用于docs_folder
中的网页目录(以及任何子目录中的网页),而不是public_html/.htaccess
文件。
是否有<location>
属性或其他方法在.htaccess
文件中包含规则但是它适用于子目录而不是.htaccess
文件所在的当前目录?
有人可以使用上述规则举例吗?
此外,上面使用的<Files *>
是否涵盖所有文件(.html,.pdf,.css等)?我希望如此。
答案 0 :(得分:1)
尝试在根目录中的htaccess文件中添加:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://yourdomain\.com [NC]
RewriteRule ^docs_folder/ - [L,F]
您需要删除/docs_folder/