我在 Apache 中设置新项目时遇到了一些问题。我有一个旧项目sub.domain.com/api/something.php,但我试图添加一个需要 DirectoryIndex 的新项目(symfony),sub.domain.com/api-v2/something/something
我的旧目录结构是这样的:
/var/www/sub.domain.com/www/api/
和sub.domain.com/www作为文档根目录。为了使我的新项目正常运行,我只需添加如下符号链接:
/var/www/sub.domain.com/www/api-v2 --> /var/www/symfony/web
在 URL 中指定 app_dev.php 时,此方法有效,但在常规 app.dev 前端控制器中,即使指定
https://sub.domain.com/api-v2/something/something
https://sub.domain.com/api-v2/app.php/something/something
https://sub.domain.com/api-v2/app_dev.php/something/something <-- works
我不擅长使用 Apache,这是我的 ssl.conf 文件:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
KeepAlive On
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost _default_:443>
DocumentRoot "/var/www/sub.domain.com/www"
ServerName sub.domain.com:443
ErrorLog logs/error_sub.domain.com.log
TransferLog logs/access_sub.domain.com.log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSLCertificateFile /etc/httpd/ssl/rapid.crt
SSLCertificateKeyFile /etc/httpd/ssl/rapid.key
SSLCertificateChainFile /etc/httpd/ssl/rapid.ia.crt
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Files "log.txt">
Order Allow,Deny
Deny from all
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
如能得到任何帮助我将非常感激。
答案1
好吧,经过更多搜索后,我找到了一个适合我的解决方案,希望它能够帮助别人!
我所需要的只是一个别名 /url/“路径”(以及一些额外的目录设置):)
Alias /api-v2/ "/var/www/symfony/web/"
<Directory "/var/www/symfony/web/">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>