繁体   English   中英

Laravel与Nginx(AJenti)重写规则

[英]Laravel with nginx (ajenti) rewrite rules

我正在尝试将现有的本地网站移至服务器。 我安装了在nginx上运行且不支持.htaccess文件的ajenti。

我试图隐蔽现有规则,并将其添加到以下内容中:自定义配置,但没有运气。 我也尝试过这里的规则: http : //forumsarchive.laravel.io/viewtopic.php? id= 1442,但还是没有运气。

# nginx configuration
location / {
rewrite ^/(.*)/$ /$1 redirect;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}

当我尝试访问网页时(例如/ profile),我得到了404(不是来自laravel的404)。

格蕾兹!

1)首先安装PHP5和CURL

apt-get install php5-fpm php5-cli php5-mcrypt curl libcurl3 libcurl3-dev php5-curl

2)启用PHP扩展(如果未启用):

php5enmod mcrypt
php5enmod curl

3)安装作曲家

curl -sS https://getcomposer.org/installer | php

4)将作曲家移至/ usr / local / bin位置

mv composer.phar /usr/local/bin/composer

5)创建一个新的laravel项目。

composer create-project laravel/laravel /srv/domain.com/ 4.2.11

6)保留laravel项目的适当权限或仅使用Ajenti魔术按钮
修复文件权限 ”:

sudo chown -R :www-data /srv/domain.com/
chmod -R 775 /srv/domain.com/app/storage

有时您可能必须运行现有项目。 那个时候将其克隆到您的目录中。

7)在Ajenti管理面板“网站”中,设置网站根目录路径

/srv/domain.com/public

使用Ajenti按钮“重新启动网站”重新启动Web服务并检查您的域。
您可以看到laravel项目界面。

8)有时候你会得到一个错误:

403 error Nginx.

在这种情况下,请转到Aj​​enti管理面板“网站”:
选择domain.com然后转到“高级”标签。 您可以看到“自定义配置”
将此代码粘贴到第一个字段:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

然后重新启动nginx或仅按Ajenti按钮“重新启动网站”。


更新:

如果要隐藏.php文件扩展名,请转到网站“自定义配置”,然后将此代码粘贴到第一个字段:

location / {
    try_files $uri $uri/ /$uri.php?$query_string;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM