配置需求來自于前后端分離。后臺由于使用PHP或者Java,但是前端使用vue,React這些框架時怎么和后端有效的數據通信。反向代理是個很好的選擇,雖然jsonp也可以,單并不好玩。
Apache配置虛擬目錄
-實際上線項目需要通過域名來訪問,比如http://www.xxx.com,但在本機上如何配置虛擬域名來訪問本機的項目呢?
1.找到C:\Windows\System32\drivers\etc\hosts這個文件添加以下格式內容
1
|
127.0.0.1 www.mytest.com //你的虛擬域名 |
2.配置Apache項目目錄
1.找到 \apache\conf\httpd.conf 這個文件,修改內容
1
2
|
# Virtual hosts Include conf/extra/httpd-vhosts.conf (這行的注釋#去掉) |
2.找到\apache\conf\extra\httpd-vhosts.conf這個文件配置項目目錄
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< VirtualHost *:80> ##ServerAdmin webmaster@dummy-host.example.com DocumentRoot "C:/xampp/htdocs/mobileApp" ##你的后端項目目錄 ServerName www.mytest.com ##虛擬域名 ##ServerAlias www.dummy-host.example.com ##ErrorLog "logs/dummy-host.example.com-error.log" ##CustomLog "logs/dummy-host.example.com-access.log" common < Directory "C:/xampp/htdocs/mobileApp"> Options Indexes FollowSymLinks DirectoryIndex index.html index.php AllowOverride all Order allow,deny Allow from all </ Directory > </ VirtualHost > |
3.proxyTable代理配置,以vue-cli為例
1
2
3
4
5
6
7
8
9
|
proxyTable: { '/api' : { target: 'http://www.mytest.com/api' , changeOrigin: true , pathRewrite: { '^/api' : '' } } }, |
這樣就可以實現跨域訪問了。
示例:
1
2
3
4
5
6
7
8
|
$.ajax({ url: '/api/indexList.php' , type: 'GET' , success: function (data) { that.list = data.data; console.log(data); } }) |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/yy211zhu/article/details/68067638