我有一个现有的子域名,子域名。MySITe.com,我用SSL。我试图在这个子域上安装PHPasswordPusher,但我不确定如何在apache上正确地安装。
我已经按照指示做了。例如,SudiDima.MySITe.com的文档根是/var/www/subdomain,两个PWPUCESS目录在/var/www/ppush。我已经将安装说明中给出的代码完全添加到了相应的virtualhost中,并按照指定的方式编辑了代码,以指向所有内容的正确目录。但是,当我试图转到子域上的alias目录时,我得到了404。(是的,我重启了apache。)
如何让给定的Apache配置在现有的虚拟主机中工作?下面是virtualhost的完整代码,针对上面给出的位置进行了编辑。

<VirtualHost *:80 *:443>
        ServerName subdomain.mysite.com

        ServerAdmin [email protected]
        DocumentRoot /var/www/subdomain

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

        SSLEngine on
        SSLProtocol all -SSLv3
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

        SSLCertificateFile /path/to/cert.crt
        SSLCertificateKeyFile /path/to/key.key
        SSLCertificateChainFile /path/to/cert2.pem

    ##### PHPasswordPusher #####

        Alias /pwpusher/ /var/www/ppush/pwpusher_public/

        <Directory /var/www/ppush/pwpusher_public/>
            AllowOverride None
            Order allow,deny
            Allow from all
            DirectoryIndex pw.php
        </Directory>

        <Directory /var/www/ppush/pwpusher_private/>
            AllowOverride None
            Order deny,allow
            Deny from all
        </Directory>
</VirtualHost>

最佳答案

除了*:80VirtualHost之外,所有配置看起来都正常,当url用http://打开时,<VirtualHost *:443>会生成“bad request”错误(我建议您将ssl指令移到),但这不是404错误的原因。
有点粗糙,但是您可以通过运行

strace -p $(pgrep apache2 | xargs | sed 's/ / -p /g')

打开这一页。在最后一行中,你应该看到一些类似的东西:
stat("/var/www/dsd", 0x7fff470d2400) = -1 ENOENT (No such file or directory)

关于php - 在Apache VirtualHost中配置别名和目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29871198/

10-15 22:05