簡體   English   中英

本地主機 NodeJS 和 PHP 在同一個域上

[英]Localhost NodeJS and PHP on same domain

我正在www.foo.com上使用NodeJS在本地開發一個項目,並想在subdomain.foo.com上調用PHP應用程序。

它可以工作,但它被解釋為 CROSS-ORIGIN,因此它發送 OPTIONS 請求,並且我無法在網絡瀏覽器開發工具中從 PHP 獲取拋出的錯誤。

我的主人

127.0.0.1    foo.com
127.0.0.1    subdomain.foo.com

阿帕奇

// foo.com
<VirtualHost *:80>
  ServerName foo.com
  DocumentRoot "/path/to/my/nodejs/app"
  <Location />
    ProxyPass http://127.0.0.1:8080/
    ProxyPassReverse http://127.0.0.1:8080/
  </Location>
</VirtualHost>

// Symfony2 project on: subdomain.foo.com
<VirtualHost *:80>
 ServerName subdomain.foo.com
 DocumentRoot "/path/to/my/php/app"
 <Directory /path/to/my/php/app>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
   <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteRule ^(.*)$ /app_dev.php [QSA,L]
   </IfModule>
 </Directory>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  LogLevel warn
  ErrorLog "/Applications/MAMP/logs/subdomain-foo-error.log"
  CustomLog "/Applications/MAMP/logs/subdomain-foo-access.log" common
</VirtualHost>

任何的想法?

這是一個跨站點的 XMLHttpRequests 問題,因此解決方案實際上並不是在 PHP 領域,而是在 Apache 本身。

您可以通過添加以下行來做到這一點:

Header set Access-Control-Allow-Origin "*"

到 PHP 站點配置的<Directory>部分。 這將允許來自任何地方的跨站點 XHR 請求。

或者你可以提煉並說:

Header set Access-Control-Allow-Origin "foo.com"

如果您只想要來自主域的請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM