[英]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.
在这种情况下,请转到Ajenti管理面板“网站”:
选择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.