这可能是个新手问题但是..。我在Apache中配置了一个SSL站点,如下所示:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName dev.wonnova.com
DocumentRoot "/var/www/myapp/wwwroot"
SSLEngine on
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLCertificateFile /etc/apache2/ssl/mycert.crt
SSLCertificateKeyFile /etc/apache2/ssl/mycert.key
<IfModule mime.c>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfModule>
Alias /mydir/ "/var/www/myapp/mydir"
<Directory "/var/www/myapp/mydir">
SSLRequireSSL
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>问题是,无论我请求哪个URL,我总是得到/var/www/myapp/wwwroot/index.php (即DocumentRoot目录中的index.php )的内容。例如,这些URL就会发生这种情况:
- https://mysite/index.php
- https://mysite/mydir/index.php
- https://mysite/mydir/style.css
- https://mysite/mydir/script.js另一方面,如果我在DocumentRoot目录下创建了一个index2.php文件,它会正确地显示:
- https://mysite/index2.php我猜我的Apache配置有问题。
发布于 2012-11-29 06:40:09
我解决了这个问题,我必须去掉Alias行第一部分的最后一个斜杠。
这是错误的:
Alias /mydir/ "/var/www/myapp/mydir"这是正确的:
Alias /mydir "/var/www/myapp/mydir"发布于 2012-11-28 08:29:33
首先,你可以去掉别名中的撇号(我想你的是对的)。更改主站点的配置:
Alias /mydir/ "/var/www/myapp/mydir"
<Directory "/var/www/myapp/mydir">
SSLRequireSSL
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>至:
Alias /mydir /var/www/myapp/mydir
<Directory /var/www/myapp/mydir>
SSLRequireSSL
Allow From all
Options +Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
</Directory>此外,您还需要转到/var/www/myapp/并编辑.htaccess并将其更改为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mydir/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mydir/index.php [L]
</IfModule>我假设您在/var/www/myapp/mydir中有一个别名指向的DirectoryIndex文件(例如index.php)。如果有效,请让我知道
https://stackoverflow.com/questions/13595215
复制相似问题