我目前正在 Zend Framework 中构建一个应用程序并在本地对其进行测试。我有 Mamp Pro 作为我的网络服务器,我有一个自签名 SSL,它似乎都可以工作。当我尝试做 mod_rewrite 时,我的问题就出现了——我只得到 404 页。
我设置东西的方式(这可能不是最好的方式......)
在 Mamp 中,我设置了 2 个虚拟主机,它们都指向同一个 Web 目录(webroot/public/):
- 安全.myapp.com
- myapp.com
在我的公共目录中是我的 index.php 文件和我的 .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 文件被忽略了。
在我的 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 _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>
有人对此有任何想法吗?我会非常感谢您的帮助,因为它严重阻碍了我的发展!