Laravel用nginx(ajenti)重写规则

时间:2014-08-30 11:22:56

标签: php .htaccess laravel nginx

我正在尝试将现有的本地网站移至我的服务器。我安装了ajenti,它运行在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;
}
}

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

格尔茨!

1 个答案:

答案 0 :(得分:2)

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)安装composer

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按钮重启网络服务"重新启动网站" 并检查您的域名。
您可以看到laravel项目界面。

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

403 error Nginx.

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

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

然后重新启动nginx或只按Ajenti按钮"重新启动网站"。


<强>更新

如果您想隐藏.php文件符号,请访问您的网站&#34;自定义配置&#34;并粘贴到第一个字段此代码:

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