0

これは初心者の質問かもしれませんが...私は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構成に何か問題があると思います。

4

2 に答える 2

0

まず、エイリアスからアポストロフィを削除できます(ただし、あなたのアポストロフィは正しいと思います)。メインサイトの構成を変更します。

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など)があると仮定します。それが機能するかどうか教えてください

于 2012-11-28T00:29:32.830 に答える
0

問題を解決しました。エイリアス行の最初の部分の最後のスラッシュを削除する必要がありました。

これは間違っていました:

Alias /mydir/ "/var/www/myapp/mydir"

これは正しいです:

Alias /mydir "/var/www/myapp/mydir"
于 2012-11-28T22:40:08.727 に答える