【问题标题】:Symfony application shows directory listing when using httpsSymfony 应用程序在使用 https 时显示目录列表
【发布时间】:2017-07-28 10:36:30
【问题描述】:

普通VHOST:

<VirtualHost *:80>
DocumentRoot /var/www/html/app/current/web
ServerAdmin me@app.foobar
ServerName app.foobar
ServerAlias www.app.foobar
<Directory /var/www/html/app/current/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All      

        <IfModule mod_rewrite.c>
            Options Indexes FollowSymlinks
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !HTTP/1.1$
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
</Directory>

<IfModule mod_headers.c> 
  Header set X-XSS-Protection "1; mode=block" 
</IfModule>
</VirtualHost>    

HTTPS 虚拟主机:

<VirtualHost *:443>    
DocumentRoot /var/www/html/app/current/web
ServerName app.foobar
ServerAdmin me@app.foobar
<Directory /var/www/html/app/current/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite> 
Options Indexes FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !HTTP/1.1$
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule> 
</Directory>
SSLEngine on
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
SSLCertificateFile /ssl/app.foobar/app.foobar.crt
SSLCertificateKeyFile /ssl/app.foobar/app.foobar.key
SSLCACertificateFile /ssl/app.foobar/app.foobar.ca-bundle
</VirtualHost>    

正如标题所说,当我使用常规端口 80 时,url 被重写为使用 app.php,但是当我尝试使用 https 端口 443 时,我得到了一个目录列表。如何像使用 http 一样使用 https 重写 url?

【问题讨论】:

  • 我刚刚浏览了 apache mod_rewrite 文档并找到了 FallbackResource 指令。这似乎有效。但是为什么这不在 Symfony 文档中呢?

标签: symfony url-rewriting apache2.4


【解决方案1】:

我通过使用 Apache 2.2.16+ 中可用的 FallbackResource 指令解决了这个问题。

在 Symfony 官方文档中,该指令不用于保持与旧版本 Apache 的向后兼容。讨论是here

代码示例:

<Directory /var/www/html/app/current/web>
    AllowOverride None
    Order Allow,Deny
    Allow from All      

    <IfModule mod_rewrite.c>
        FallbackResource /app.php
    </IfModule>
</Directory>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-20
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多