【发布时间】:2015-10-28 03:11:51
【问题描述】:
我正在尝试使用 PhalconPHP 框架教程设置 ngnix,他们提供了以下结构:
教程/.htaccess:
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
tutorial/public/.htaccess:
AddDefaultCharset UTF-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
另一个文件夹是 app,其中包含以下文件夹:controllers、models 和 views。现在本教程在 apache 上完美运行,但在 nginx 上,我尝试了不同的规则,但这些规则不起作用。我的 ngnix 的基本配置是:
服务器配置:
server {
listen 80;
server_name localhost;
root C:/nginx/html;
location /tutorial {
rewrite ^/tutorial/(.*)$ /tutorial/public/$1 break;
try_files $uri $uri/ /tutorial/public/index.php?q=$uri&$args;
}
location /tutorial {
root C:/nginx/html;
index index.php;
rewrite ^/tutorial/(/.*)$ /public$1 break;
try_files $uri $uri/ /tutorial/public/index.php?$args;
}
}
谁能帮我在nginx上设置本教程的位置规则。我什至在线将那些.htaccess规则转换为nginx规则,但我不知道我错在哪里。
【问题讨论】:
-
我认为你的 nginx 配置在这里不完整,里面有
location声明吗?只有这两个部分? & 我建议您访问主要文档here。 -
不完整,我刚刚给出了我的根路径。我只是想知道我在 phalcon 框架上应用此文件夹结构的位置规则
-
好的,如果你使用 php-fpm 和你的 nginx 进行 php 解释,你可以使用我在第一条评论中提到的主文档。
-
对不起,我想我应该更清楚。