透過別名 (apache) 存取時顯示原始原始碼的 PHP 腳本

透過別名 (apache) 存取時顯示原始原始碼的 PHP 腳本

我有一台伺服器,上面有幾個不同的網域(每個網域都在單獨的 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>

你瞧,它開始按照我的預期工作。我將進一步討論它(看起來我確實不需要它),但目前它運行得很好。

相關內容