Frage

Ich baue eine app in Zend Framework zur Zeit und alles vor Ort zu testen. Ich habe Mamp Pro als meine Web-Server, und ich habe ein selbst signiertes SSL, die alle zu funktionieren scheint. Mein Problem kommt, wenn ich versuche, mod_rewrite zu tun -. Ich bekomme nur 404 Seiten

So wie ich die Dinge haben, (die möglicherweise nicht der beste Weg, ...)


In Mamp Ich habe 2 Virtual gründen beide zeigt auf die gleiche Web-Verzeichnis (Webroot / public /):

  • secure.myapp.com
  • myapp.com

In meinem öffentlichen Verzeichnis ist meine Datei index.php und meine .htaccess-Datei. Der Inhalt der .htaccess-Datei ist:

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]

Wenn ich unter http://myapp.com alles Routen wie es sollte die mod_rewrite. Aber wenn ich an https://secure.myapp.com der Index-Seite ist in Ordnung, aber URL-Routing-Stationen arbeiten und es scheint zu sein, dass die .htaccess-Datei ignoriert wird.

In meinem ssl.conf habe ich folgendes:

<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>

Hat jemand irgendwelche Ideen dazu? Ich werde sooooo dankbar für die Hilfe, da es ernst ist meine Entwicklung zu behindern!

War es hilfreich?

Lösung

Nun, ich bin mir ziemlich sicher, dass ich diese Arbeit bekommen haben. Grundsätzlich ist ein großes Problem, das ich hatte, ist, dass Mamp nicht als begehbares Datei speichert vhosts.conf. Stattdessen ist dies eine aliased Anwendungsdatei.

Ich denke, was passiert ist, dass die Virtual sind alle dynamisch alle auf dem Standard-HTTP-Port erstellt, in meinem Fall 80 aber ich musste in der Lage sein, den Port 433 vhost Konfiguration für den Zugriff auf Fileinfo zu aktivieren. Also meine Abhilfe ist meine .htaccess-Datei, Graben und die folgende ALL in meine ssl.conf Datei bleiben.

<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>

Ich hatte DOCUMENT_ROOT vor meiner Datei- und Verzeichnis prüft und einen Schrägstrich vor index.php hinzuzufügen. Wenn ich das in ein „Verzeichnis“ gesetzt haben könnte, dann denke ich, dass ich diese Änderungen hätte vermieden werden können, aber Apache nicht neu starten, wenn ich diesen Parameter hinzuzufügen.

Das einzige, was ich nicht versucht wurde, die Informationen zu MAMP httpd.conf hinzufügen, aber ich habe ein die gleichen Einschränkungen Gefühl anstelle kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top