我已将网站(WordPress网站)迁移到另一台服务器。
wordpress安装最初是在domain.com/site/中,它有一个索引文件,用户将用户重定向到/ site /。
现在,WP安装位于根文件夹(domain.com/)中。
我需要将对domain.com/site/?p=x的每个请求发送到domain.com/?p=x
我一直在寻找尝试很多位置规则,但我不能让它工作。我能做的最好的事情是从domain.com/site/?p=x重定向到domain.com/site?p=x,显然这会给出404.
网站所在的服务器是apache。现在在新服务器中我使用nginx。
我用easyengine来安装nginx,php-fpm,mysql。使用w3tc插件创建了一个wordpress站点。
有人能帮助我吗? 感谢
答案 0 :(得分:2)
很棒的问题!
Nginx是一个不错的选择,请在double[] radius = // Whatever (both should have same length)
double[] mass = // Whatever
double[] gravity = new double[radius.length];
for(int i = 0; i < radius.length; i++) {
gravity[i] = calcGravity(radius[i], mass[i]);
}
:
nginx.conf
location /site {
rewrite ^/site/?((?<=/).*)?$ /$1 redirect;
return 403;
}
部分是 lookbehind断言,根据pcrepattern(3)
,来自pcre
库Apache httpd
以及nginx
Migrating MSBuild-Integrated solutions to use Automatic Package Restore用于支持正则表达式。
如果正则表达式存在安全问题,则(?<=
是必需的(例如,如果它无法提供重定向)。