Php 使用nginx(ajenti)重写规则的Laravel

Php 使用nginx(ajenti)重写规则的Laravel,php,.htaccess,laravel,nginx,Php,.htaccess,Laravel,Nginx,我正在尝试将我现有的本地网站移动到我的服务器。我安装了ajenti,它运行在nginx上,不支持.htaccess文件 我试图隐藏现有规则,并将它们添加到ajenti中:自定义配置,但没有成功。我也试过这里的规则:但还是没有运气 # nginx configuration location / { rewrite ^/(.*)/$ /$1 redirect; if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; } } 当我尝

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

我试图隐藏现有规则,并将它们添加到ajenti中:自定义配置,但没有成功。我也试过这里的规则:但还是没有运气

# 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扩展(如果未启用):

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魔术按钮
修复文件权限””:

有时您可能需要运行现有的项目。那时候把它克隆到你的目录

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

sudo chown -R :www-data /srv/domain.com/
chmod -R 775 /srv/domain.com/app/storage
/srv/domain.com/public
使用Ajenti按钮“重新启动网站”重新启动webservice并检查您的域。
您可以看到laravel项目界面

8) 有时会出现错误:

403 error Nginx.
在这种情况下,请转到Ajenti管理面板“网站”:
选择
domain.com
并转到“高级”选项卡。您可以看到“自定义配置”
粘贴到此代码的第一个字段:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
location / {
    try_files $uri $uri/ /$uri.php?$query_string;
}
然后重新启动nginx或只需按Ajenti按钮“重新启动网站”。


更新:

如果您想隐藏.php文件,请转到您的网站“自定义配置”,并将此代码粘贴到第一个字段:

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