我有一个现有的子域名,子域名。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>
最佳答案
除了*:80
的VirtualHost
之外,所有配置看起来都正常,当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/