【问题标题】:URL was not found on this server laravel在此服务器上找不到 URL laravel
【发布时间】:2020-07-24 09:14:16
【问题描述】:

项目在本地主机上运行良好,但是当我将它上传到服务器时它显示

未找到

在此服务器上找不到请求的 URL /yes。

此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误


只有 / 路由有效,其他路由在 route.php 文件中无效

【问题讨论】:

    标签: laravel-5


    【解决方案1】:

    您需要在您的服务器上设置.htaccess 重写。您可能需要安装并启用 mod_rewrite apache 模块(或您选择的 http 服务器的类似替代模块)。

    检查您应用的公用文件夹是否有.htaccess 文件,类似于:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>
    

    See latest laravel release.

    【讨论】:

      【解决方案2】:

      .dotfiles 是隐藏的,请确保您在控制面板上启用显示隐藏文件。

      在 Laravel 5.6^ 中编辑从 public 复制的 .htacess 文件并粘贴此代码

      <IfModule mod_rewrite.c>
          <IfModule mod_negotiation.c>
              Options -MultiViews -Indexes
          </IfModule>
      
          RewriteEngine On
      
          # Handle Authorization Header
          RewriteCond %{HTTP:Authorization} .
          RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
      
          # Redirect Trailing Slashes If Not A Folder...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_URI} (.+)/$
          RewriteRule ^ %1 [L,R=301]
      
          # Handle Front Controller...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
      </IfModule>
      

      在 public/.htacess 或 public_html/.htacess 也这样做

      【讨论】:

      • 谢谢你,你救了我的命!我在 /public 中创建了这个文件,它对我有用。
      【解决方案3】:

      pp 有一个 .htaccess 文件,类似于:

      <IfModule mod_rewrite.c>
          <IfModule mod_negotiation.c>
              Options -MultiViews
          </IfModule>
      
          RewriteEngine On
      
          # Redirect Trailing Slashes If Not A Folder...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)/$ /$1 [L,R=301]
      
          # Handle Front Controller...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
      
          # Handle Authorization Header
          RewriteCond %{HTTP:Authorization} .
          RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
      </IfModule>
      

      【讨论】:

        【解决方案4】:

        在 project_folder/.htaccess 和 project_folder/public/.htaccess 中的文件夹中添加 RewriteBase

        选项 -MultiViews -Indexes

        RewriteEngine On
        RewriteBase /your_project_folder/public
        
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
        
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
        

        【讨论】:

        • 它对我有用....谢谢你。上帝保佑你永远。
        【解决方案5】:

        我遇到了同样的问题。我将 .htaccess 文件复制到本地主机的公用文件夹中,并将其粘贴到服务器上的 .htaccess 文件中,它可以工作。

        【讨论】:

          【解决方案6】:

          只是一个观察。当 public_html 文件夹中不存在 .htaccess 并且 php 版本被更改或升级时,会在 .htaccess 文件中生成。所以请正确检查它是否在 laravel .htaccess 之前存在。似乎 mime_module 指定了项目的版本

          【讨论】:

            猜你喜欢
            • 2017-12-26
            • 2015-03-30
            • 2016-11-23
            • 2014-10-15
            • 2015-12-17
            • 2016-12-21
            • 2016-07-23
            • 1970-01-01
            • 2020-07-28
            相关资源
            最近更新 更多