我正在尝试为内置expressionengine的站点设置开发站点。 我本来希望为我的开发站点使用一个子域,但我不控制DNS ...因此,为了避免麻烦,我只是在一个名为/〜dev /的子目录中进行了复制。 像这样:
http://example.com/ <-主站点
http://example.com/~dev/ <-开发网站
我复制了数据库并相应地更新了配置文件,如果我调出主站点或开发站点的主页,一切都将正常工作。...但是,一旦我单击开发站点上的任何链接,我就会得到一个“状态: 404页面未找到”页面。 我认为nginx只是不能正确路由请求。 这是我的nginx配置(部分):
server {
listen 80;
server_name ~^(?<www>.+)\.example\.com$;
root /data/website;
index index.php;
include /etc/nginx/restrictions.conf;
#dev site
location /~dev {
index index.php;
}
我对nginx不太熟悉(我主要是一个Apache家伙)...所以我在这里错过了什么?
嘘,我现在可以回答我自己的问题。 发布之前,我花了将近一个小时的时间进行谷歌搜索,搜索Stack Overflow和阅读nginx文档都无济于事...但是,当我发布问题后,我立即在侧栏中看到了相关的问题,我可以适应我的情况。 捂脸我的解决方案:
location /~dev {
if (!-e $request_filename) {
rewrite ^/~dev/(.*)$ /~dev/index.php/$1 last;
}
}