mum*_*bot 3 apache proxy virtualhost webpack-dev-server
我想尝试做一个相对简单的设置:
为此,Webpack Dev Server proxies
另一台服务器要传递不知道如何处理的请求.
使用基本的python服务器(可以工作):
使用Apache服务器:
如果我在浏览器中单独访问http://vhost.name,我会看到正确的HTML.我的环境是默认的Apache Server版本:Mac OSX El Capitan上的Apache/2.4.16(Unix).
的package.json
"scripts": {
"test": "node server.js",
"start": "npm run start-dev-server",
"start-dev-server": "webpack-dev-server 'webpack-dev-server/client?/' --host 0.0.0.0 --port 9090 --progress --colors",
"build": "webpack"
},
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
/*global require module __dirname*/
var webpack = require('webpack');
module.exports = {
entry: {
app: [
'webpack-dev-server/client?http://localhost:9090',
'webpack/hot/only-dev-server',
'./src/app.js'
]
},
output: {
path: __dirname + '/dist',
filename: '[name]_bundle.js',
publicPath: 'http://localhost:9090/dist'
},
devServer: {
historyApiFallback: true,
proxy: {
// Python server: works as expected at localhost:9090
// '*': 'http://localhost:5000'
// Apache virtual host: redirects to localhost instead of
// serving localhost:9090
'*': 'http://vhost.name'
}
},
plugins: [
new webpack.HotModuleReplacementPlugin()
]
};
Run Code Online (Sandbox Code Playgroud)
的httpd-vhosts.conf
<VirtualHost vhost.name:80>
DocumentRoot "/Path/To/vhost.name"
ServerName vhost.name
<Directory "/Path/To/vhost.name">
Options FollowSymLinks Indexes MultiViews
AllowOverride All
# OSX 10.10 / Apache 2.4
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
主机
127.0.0.1 localhost
127.0.0.1 vhost.name
Run Code Online (Sandbox Code Playgroud)
Wordpress使用规范网址来帮助规范化来自不同来源的内容的网址:
[Y]您无法控制链接到您的人,第三方在输入或复制粘贴您的网址时可能会出错.这种规范的URL退化有一种传播方式.也就是说,站点A使用非规范URL链接到您的站点.然后,站点B查看站点A的链接,并将其复制粘贴到他们的博客中.如果您允许非规范网址留在地址栏中,则人们会使用它.这种用法不利于您的搜索引擎排名,并损害构成Web的链接网络.通过重定向到规范URL,我们可以帮助阻止这些错误传播,并至少为人们在链接到您的博客时可能犯的错误生成301重定向.
这种重写是在尝试代理时剥离Webpack-dev-server端口号的原因.解决方案是添加你的theme/functions.php:
remove_filter('template_redirect', 'redirect_canonical');
Run Code Online (Sandbox Code Playgroud)
我们显然不希望它在实际站点上运行,因此请根据环境向wp_config.php添加一个变量来设置:
WP-config.php文件
// Toggle to disable canonical URLs to allow port numbers.
// Required for Webpack-dev-server proxying.
define('DISABLE_CANONICAL', 'Y', true);
Run Code Online (Sandbox Code Playgroud)
yourtheme/functions.php中
// Hack for Webpack dev server
if (DISABLE_CANONICAL == 'Y') {
remove_filter('template_redirect', 'redirect_canonical');
}
Run Code Online (Sandbox Code Playgroud)
我在浏览器"缓存"以前的URL重定向时遇到了问题,因此当您进行更改时,它可能不会立即显示.尝试以隐身模式打开URL,使用其他浏览器或重新启动Webpack和Apache服务器.
归档时间: |
|
查看次数: |
1449 次 |
最近记录: |