質問

構築を行っているアプリZend Frameworkの試験です。していまMampプロとしての自分のウェブサーバとして自己署名SSLを全うします。私の問題がってみてはいmod_rewrite-乗っ404ページ。

のものの設定がないことに...)


にMampい2virtualhostsの設定の両方を指すに同一のウェブディレクトリ(webrootウェブルート公共):

  • secure.myapp.com
  • myapp.com

私の公開ディレクトリは私のindex.php ファイルおよびmy.htaccessファイルです。。htaccessファイル:

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

私が訪問 http://myapp.com 全ての経路では使用できます。mod_rewriteでに行った時に https://secure.myapp.com のインデックスページですがURLのルーティングが停止できる。htaccessファイルは無視されます。

私のボタンを使用します。confに以下の

<IfModule mod_ssl.c>

Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
SSLSessionCache         dbm:/Applications/MAMP/logs/ssl_scache
SSLSessionCacheTimeout  300
SSLMutex  file:/Applications/MAMP/logs/ssl_mutex

<VirtualHost _default_:443>

SSLEngine on
DocumentRoot "/webroot/public"
ServerName secure.myapp.com
ServerAdmin you@example.com
ErrorLog /Applications/MAMP/logs/ssl_error_log
TransferLog /Applications/MAMP/logs/ssl_access_log

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /Applications/MAMP/conf/apache/ssl_cert/server.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl_key/server.key

CustomLog /Applications/MAMP/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

</IfModule>

なんてそのアイデア。んなアトランタのアルファレッタ周辺に感謝の気持ちを持つのかを真剣に阻害発!

役に立ちましたか?

解決

さて私は、私はこの作業を持っていることを確信しています。基本的に、私が持っていた大きな問題は、MAMPがアクセス可能なファイルとしてvhosts.conf保存しないということです。代わりに、これはエイリアスアプリケーションファイルです。

私は何が起こることは仮想ホストがすべての動的しかし、私はFileInfoオブジェクトを有効にするには、ポート433のバーチャルホストの設定にアクセスできるようにするために必要な私の場合80には、標準のHTTPポート上のすべてを作成していることだと思います。だから私の回避策は、私の.htaccessファイルを捨てて、私のssl.confファイルにすべての次を固執することです。

<IfModule mod_ssl.c>

Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
SSLSessionCache         dbm:/Applications/MAMP/logs/ssl_scache
SSLSessionCacheTimeout  300
SSLMutex  file:/Applications/MAMP/logs/ssl_mutex

<VirtualHost mysite.com:443>

    SSLEngine on
    DocumentRoot /webroot/secure
    ServerName mysite.com
    ServerAdmin you@example.com
    ErrorLog /Applications/MAMP/logs/ssl_error_log
    TransferLog /Applications/MAMP/logs/ssl_access_log

    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /Applications/MAMP/conf/apache/ssl_cert/server.crt
    SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl_key/server.key

    CustomLog /Applications/MAMP/logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    DirectoryIndex index.php

        <IfModule mod_rewrite.c>
            RewriteEngine on
            RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -s [OR]
            RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -l [OR]
            RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d

            RewriteRule ^.*$ - [NC,L]
            RewriteRule ^.*$ /index.php [NC,L]

            RewriteLog /Applications/MAMP/logs/ssl_rewrite_log
            RewriteLogLevel 3
        </IfModule>

</VirtualHost>

</IfModule>

私は自分のファイルとディレクトリのチェック、index.phpの目の前にあるスラッシュの前にDOCUMENT_ROOTを追加する必要がありました。私は「ディレクトリ」にこれを入れていることができれば、私は、私はこれらの変更を避けることができたと思うが、私は、このパラメータを追加するときにApacheは再起動しません。

私は試していない唯一のものはMAMPのhttpd.confに情報を追加しましたが、私は同じ制限が所定の位置にあってもよい感じています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top