[英]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.