%20%E5%AD%98%E5%8F%96%E6%99%82%E9%A1%AF%E7%A4%BA%E5%8E%9F%E5%A7%8B%E5%8E%9F%E5%A7%8B%E7%A2%BC%E7%9A%84%20PHP%20%E8%85%B3%E6%9C%AC.png)
我有一台伺服器,上面有幾個不同的網域(每個網域都在單獨的 VHost 中)。每個 VHost 都運作良好,可以正確執行 PHP 等。我正在嘗試在 foo.com 上建立一個別名,其中將包含 bar.com 上目錄中的檔案。容易,對吧?
# Apache config file for foo.com
Alias /bar-alias /var/www/vhosts/bar.com/httpdocs/somedir
<Directory "/var/www/vhosts/bar.com/httpdocs/somedir">
Options Indexes FollowSymLinks
Order Allow,Deny
Allow From All
Deny From None
</Directory>
除了嘗試運行 PHP 腳本時,它工作得很好而且很花哨。在我的配置下,請訪問 www.foo.com/bar-alias/script.php 返回腳本的源代碼而不是執行它。我一直在絞盡腦汁試圖弄清楚如何讓 Apache 以這種方式執行 PHP,但我卻是一片空白。
(如果是根本不可能的話,我想避免進行任何符號連結或類似的事情。這似乎是我應該能夠純粹在 Apache 的配置中完成的事情,我只是不知道如何做到這一點。
答案1
看起來它可能在完成讀取完整的 httpconf 之前正在執行別名。在您的別名之前或之後是否找到以下行?嘗試將其移至上方:
Include conf.d/*.conf
答案2
其實我思考我得到了它。出於純粹的挫敗感,我從配置的早期部分複製了以下內容並將其貼上到<Directory>
該別名的區塊中...
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
</IfModule>
你瞧,它開始按照我的預期工作。我將進一步討論它(看起來我確實不需要它),但目前它運行得很好。