【问题标题】:How should the routing rules be for Laravel?Laravel 的路由规则应该如何?
【发布时间】:2020-08-17 12:17:09
【问题描述】:
RewriteEngine On
RewriteBase /myproject/public

RewriteCond %{SERVER_PORT} 80
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

RewriteCond %{THE_REQUEST} /myproject/public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^(.*)$ /myproject/public/index.php?$1 [L,QSA]

此代码适用于我,但它不会加载 css、js 等文件,并且遇到 404 错误。

【问题讨论】:

    标签: php laravel .htaccess url-rewriting routes


    【解决方案1】:

    我尝试并找到了解决方案。不使用 Homestead 的 Laravel 用户;创建一个指向 public_html 目录的 htaccess 文件并运行我在答案中给出的代码。现在 css, js, pdf, jpg, png 简单地说每个文件都适合你。

    #new htaccess file
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    RewriteRule ^(.*)$ /myproject/public/$1 [L]
    

    【讨论】:

    • 您的源文件似乎位于public_html 目录下。这通常是一个安全问题。如果您在生产环境中执行此操作,则应将 public_html 视为您的“公共文件夹”,并在您的代码中重命名对它的任何引用。
    • 感谢您提供的信息。但无法访问,因为它是“htaccess”。
    【解决方案2】:

    我根据您提供的信息研究了该主题。带有“HTACCESS”的路由规则适用于 Laravel。但实际上存在威胁。 (安全)。设置文件中有非常重要的信息。 (.env) 示例:数据库用户和密码之类...

    当我们不从服务器更改 Web 根目录时,我们是不安全的。感谢贡献@apokryfos

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 2020-04-05
      • 2015-09-02
      • 2018-10-23
      • 2023-03-03
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多