使用 Nginx 设置 Laravel

2024-03-02

我正在尝试设置Laravel http://laravel.com/可使用的 PHP 框架Nginx http://wiki.nginx.org/Main。这是我的目录结构:

/project
   /application
   /laravel
   /public
      index.php
   /legacy
      /index.php
      /stylesheets
         default.css

基本上我所拥有的是一个标准Laravel http://laravel.com/下载legacy抛出的文件夹包含我的非 MVC 项目中的所有文件。

我需要 Nginx 首先检查请求的页面/文件是否存在于旧版中,如果存在,那么我想使用它。否则,我想退回到 Laravel 的index.php文件位于project/public/.

我不是 Nginx 配置方面的专家,因此我们将非常感谢您提供的任何帮助。


server {
    server_name .laravel.dev;
    root /home/tamer/code/laravel/public;

    index index.php index.html;

    #browse folders if no index file
        autoindex on; 

    # serve static files directly
    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    # removes trailing slashes (prevents SEO duplicate content issues)
    if (!-d $request_filename)
    {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # enforce NO www
    if ($host ~* ^www\.(.*))
    {
        set $host_without_www $1;
        rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
    }


    # canonicalize codeigniter url end points
    # if your default controller is something other than "welcome" you should change the following
    if ($request_uri ~* ^(/lobby(/index)?|/index(.php)?)/?$)
    {
        rewrite ^(.*)$ / permanent;
    }

    # removes trailing "index" from all controllers
    if ($request_uri ~* index/?$)
    {
        rewrite ^/(.*)/index/?$ /$1 permanent;
    }

    # unless the request is for a valid file (image, js, css, etc.), send to bootstrap
    if (!-e $request_filename)
    {
        rewrite ^/(.*)$ /index.php?/$1 last;
        break;
    }

    # catch all
    error_page 404 /index.php;

        location ~ \.php$ {
        try_files $uri =404;
                fastcgi_pass  unix:/tmp/php.socket;
                fastcgi_index index.php;
                #include fastcgi_params;
                include /home/tamer/code/nginx/fastcgi_params;
        }
        access_log /home/tamer/code/laravel/storage/logs.access.log;
        error_log  /home/tamer/code/laravel/storage/logs.error.log;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Nginx 设置 Laravel 的相关文章

  • PHP 如何再次传输 mp3 流

    我正在尝试从 http 的无线电流 MP3 获取数据 并希望以 https 的形式将其流式传输 这是我尝试过的
  • 如何将 php curl 中的 cookie 获取到变量中

    因此 其他公司的一些人认为 如果不使用soap xml rpc rest 或任何其他合理的通信协议 而是将所有响应作为cookie 嵌入标头中 那就太棒了 我需要从这个卷曲响应中将这些 cookie 作为数组取出 如果我不得不为此浪费大量的
  • SQL:在行中保留计数或从数据库中选择计数

    示例 我有 2 张桌子 类别 Posts 在这样的类别中保留帖子编号是一个好方法吗 类别 id title posts 1 golf 50 2 soccer 90 posts id title category id 1 news 1 1
  • 替换多余的空格

    我需要从应用程序中的玩家用户名中删除多余的空格 字母之间不止一次空格 并将其替换为单个空格 我不介意用户有一个空格 但我需要删除彼此相邻的多个空格 目前我是这样实现的 replace array array fill array array
  • 我可以使用 WGET 生成给定 URL 的网站的站点地图吗?

    我需要一个可以抓取网站并以纯文本或类似格式返回所有已抓取页面的列表的脚本 我将把它作为站点地图提交给搜索引擎 我可以使用 WGET 生成网站的站点地图吗 或者有没有一个 PHP 脚本可以做同样的事情 wget spider recursiv
  • VB 脚本 Documents.Open 抛出 424 错误

    所以我有一个vbs脚本 Function test2open sSourceFile sPDFFile Dim wApp As Word Application Dim wDoc As Word Document logStream wri
  • 第一个选项为空的选择框

    如何将选择框中的第一个选项设置为空值 我正在从数据库获取数据 我想将选项默认设置为 请选择一个选项 我找到 default gt Please select 不适用于 HTML5 必需属性 这确实有效 listOfValues 1 gt C
  • 类别树的路由

    我正在使用Tree http www gediminasm org article tree nestedset behavior extension for doctrine 2类别树的学说扩展并希望有如下路线 cat subcat1 s
  • Joomla getUser() 不显示更新的用户数据

    下面的代码允许我在用户的 Joomla 个人资料的个人资料页面中显示用户名 鉴于我已经覆盖了模板以获得我想要的外观和感觉 user JFactory getUser if user gt guest echo You are logged
  • CodeIgniter PHP 模型访问“无法找到您指定的模型”

    我一直在尝试为我正在构建的这个网站加载一些模型 但不知道什么原因 会带来如下错误 An Error Was Encountered Unable to locate the model you have specified logon mo
  • PHP $_FILES 多个文件上传问题

    我在 PHP 中上传多个文件时遇到一个小问题 我有这个 html 表单
  • 如何在 PHP 中上传 .txt 文件并在另一页面上逐行读取该文件?

    我的目标是在表单上上传 txt 文件 浏览 将文件发布到另一个 php 页面 然后逐行读取该文件 到目前为止我的代码就在这里 文件 1 HTML 上传
  • 如何在 Kohana 中包装 PHP 遗留代码?

    我有大量用 PHP 编写的遗留代码 这些代码不是在任何特定框架上编写的 而是主要是老式风格 即内联 PHP 然而 我的大部分新代码都是在 Kohana 3 1 X 框架上编写的 尽管 Kohana 确实允许遗留代码和 Kohana 文件在同
  • 无法使用模式 r: fopen(): AWS Elastic Beanstalk 打开

    错误 无法使用模式 r fopen 打开 文件名不能为空当我尝试上传较大的文件 超过 5MB 时 我不断收到此错误 我已将 PHP 应用程序上传到 AWS Elastic Beanstalk 并将文件上传到 AWS S3 我的代码中甚至没有
  • Yii2 Rest - 自定义操作和 OPTIONS 方法

    我在 UsersController 类中执行以下操作 login 路由操作时遇到问题 public function actionLogin data Yii app gt getRequest gt getBodyParams mode
  • 是否可以从插件扩展 Wordpress XMLRPC 接口?

    是否可以创建一个插件 在激活时向 XMLRPC 接口添加新的 功能 并处理其调用 简而言之 是的 您可以将函数添加为插件或添加到主题的functions php 文件中来处理XMLRPC 调用 您将需要以下部分 function xml a
  • “完整性约束违规:1062 重复条目” - 但没有重复行

    我正在将应用程序从本机 mysqli 调用转换为 PDO 尝试将行插入具有外键约束的表时遇到错误 Note 这是一个简化的测试用例 不应复制 粘贴到生产环境中 InfoPHP 5 3 MySQL 5 4 首先 这是表格 CREATE TAB
  • MySQL 的 TEXT 类型的 Oracle 等效项

    Oracle 是否有与 MySQL 等效的列类型TEXT type 如果不是 那么通常如何存储较大的文本块 BLOB varchar 32767 如果重要的话 它是通过 PHP 访问 Oracle 10 历史背景是非常受欢迎的 Oracle
  • Laravel 5 Socialite - cURL 错误 77:设置证书验证位置时出错

    我正在 Laravel 5 中使用社交名流来设置 facebook 登录 我仔细按照说明进行操作 直到出现以下错误 cURL error 60 SSL certificate problem unable to get local issu
  • 如何调试 Silex 框架中的 php 致命错误

    我想知道如何看到这样的语法错误 缺少分号 这将导致 WSOD 白屏死机 我尝试包含一个调试配置文件 如下所示 use Symfony Component Debug ErrorHandler use Symfony Component De

随机推荐