WordPress的.htaccess和虚拟主机配置在其自己的目录中

时间:2014-03-03 11:39:53

标签: wordpress apache .htaccess virtualhost

我一直在使用Composer等查看现代WP开发方法,例如BedrockWordPress-Skeleton

我正在尝试调整这些方法广告创建我自己的WP样板,所以我最终得到了这样的项目结构:

my_project
 |
 \--app  <-- custom wp-content folder
 |   |  
 |   \--mu-plugins
 |   \--plugins
 |   \--themes
 |
 \--vendor  <-- folder for composer packages
 |   |
 |   \...
 |
 \--wp  <-- WordPress core folder
 |   |
 |   \...
 |
 |--composer.json
 |--composer.lock
 |--index.php
 |--wp-config-local.php
 |--wp-config.php

到目前为止一切正常,但问题是我必须将 my_project 设置为Web根文件夹,以便用户可以转到 http:/ my-project / vendor ,例如,看看我所有的供应商包,我认为这不好......

那么,有没有办法设置一些 .htaccess 文件或配置虚拟主机,以便我可以使用该文件夹结构但不允许任何人访问并非绝对必要的所有文件和文件夹?

2 个答案:

答案 0 :(得分:2)

我不确定你的意思

  

以便用户可以访问http:/ my-project / vendor,例如,和   查看我的所有供应商包

所以我会给你一些选择。

如果供应商软件包应该是完全私有的,您可以禁止它:

RewriteRule ^/vendor - [F]

如果要将您可能使用的IP列入白名单:

<Directory /vendor>
  Order deny,allow
  Allow from 1.2.3.4
</Directory>

如果您只想阻止/ vendor

中的文件列表
<Directory /vendor>
  Options -Indexes
</Directory>

答案 1 :(得分:1)

在此之后,Bedrock最近采取了更好的方法,只将需要的内容分离到web/目录中。见这里:https://github.com/roots/bedrock/pull/32

通过这种方式,您可以将虚拟主机文档根目录设置为/path/to/site/web/,而不必担心手动阻止对各种文件夹/配置的访问。