【问题标题】:apache AllowOverride /var/www/html but not /var/www/html/temp/apache AllowOverride /var/www/html 但不是 /var/www/html/temp/
【发布时间】:2014-11-23 14:12:10
【问题描述】:

我有一个wordpress网站,因为wordpress需要.htaccess规则,所以/var/www/html应该设置AllowOverride all。但是我有一些自定义文件夹/var/www/html/temp/,它有很多子文件夹,最大深度可能是9。/var/www/html/temp/images/avatar/username/large/cache/image.jpeg。如何添加另一个规则,以便<directory "/var/www/html/temp"> 可以与规则AllowOverride None 一起使用,谢谢。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    <directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
</VirtualHost>

【问题讨论】:

  • 您是否尝试在现有块的下方添加另一个&lt;Directory&gt; 块,并带有AllowOverride None?
  • @IMSoP,去哪里?在&lt;VirtualHost *:80&gt; 下还是在&lt;directory "/var/www/html"&gt; 下?
  • 紧跟在另一个 &lt;Directory&gt; 部分之后:&lt;Directory "/var/www/html"&gt;AllowOverride all&lt;/Directory&gt;&lt;Directory "/var/www/html/temp"&gt;AllowOverride none&lt;/Directory&gt;

标签: apache httpd.conf


【解决方案1】:

这里没有真正的技巧,如果你创建一个概念上低于第一个目录的第二个目录部分,它的更改将被合并到:

<Directory "/var/www/html/temp">
  AllowOverride None
</Directory>

为清楚起见,只需将其放在现有目录部分之后即可,尽管对于目录而言并非绝对必要。

您应该查看手册中“配置部分”主题的基础知识。

【讨论】:

  • 在哪里添加此代码&lt;VirtualHost *:80&gt;&lt;Directory "/var/www/html/temp"&gt; 或&lt;directory "/var/www/html"&gt;&lt;Directory "/var/www/html/temp"&gt;?
  • “为清楚起见,只需将其放在现有目录部分之后即可,尽管对于目录而言并非绝对必要。”
猜你喜欢
  • 2017-02-28
  • 2014-03-16
  • 2015-08-05
  • 2013-04-18
  • 2020-07-04
  • 2022-01-09
  • 2018-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多