【问题标题】:Other routes rather than default one not working with XAMPP其他路由而不是默认路由不适用于 XAMPP
【发布时间】:2020-12-04 23:39:26
【问题描述】:

我有我的 Laravel 项目,如果我使用地址“localhost/app/public”,我的主(即欢迎)页面(welcome.blade.php)工作,但当我写我的其他像“localhost/app/public/anyother”这样的路由它显示错误消息,404 |未找到。 虽然默认路由和所有其他路由都适用于“php artisan serve”。

有两件事我想知道希望你不会介意。

1.如何解决 Laravel 自己的应用服务器上的 XAMPP 的这个问题,所有路由都可以正常访问?

2。为什么其他路由在本地 XAMPP 中无法正常使用“php artisan serve”?

我发现在 XAMPP 上运行 Laravel App 是:-

使用 xampp:

转到 C:\Windows\System32\drivers\etc\hosts 并添加一个新行,如:127.0.0.1 yoursite.local 转到xampp\apache\conf\extra\httpd-vhosts.conf下安装XAMPP的位置,然后在文件底部添加一个虚拟主机,如:

<VirtualHost *:80>

DocumentRoot "PATH_to_laravel_folder/public"  

ServerName yoursite.local  
</VirtualHost>

如果我接受此解决方案作为我的第 1 点,是否还有其他解决方案而不创建虚拟主机?如果我想使用 XAMPP 提供的 URL,例如“localhost/app/public”,还有其他解决方案吗?

【问题讨论】:

    标签: laravel view laravel-7


    【解决方案1】:

    解决方案 1:

    尝试将 Laravel 项目文件夹中的 server.php 重命名为 index.php 并将公共目录中的 .htaccess 文件复制到项目根文件夹中。

    解决方案 2:

    .htaccessindex.php从公共目录复制到项目根目录

    更改index.php 文件,如下所述:

     //change line 22 to       
     require __DIR__.'/bootstrap/autoload.php';
    
     //change line 36 to
     $app = require_once __DIR__.'/bootstrap/app.php';
    

    希望上述解决方案之一能在您的情况下运作良好。

    【讨论】:

      【解决方案2】:

      您的虚拟主机不好。您忘记了Directory 规范标签,并且不允许索引。

      尝试编辑位于C:\xampp\apache\conf\extra\httpd-vhosts.conf 中的httpd-vhosts.conf,如下所示:

      # VirtualHost for LARAVEL.DEV
      
      <VirtualHost laravel.dev:80>
        DocumentRoot "C:\xampp\htdocs\laravel\public"
        ServerAdmin laravel.dev
        <Directory "C:\xampp\htdocs\laravel">
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
        </Directory>
      </VirtualHost>
      

      您可以通过Apache documentation了解更多信息

      &lt;Directory&gt;&lt;/Directory&gt; 用于包含一组指令,这些指令仅适用于指定目录、该目录的子目录以及相应目录中的文件。

      换句话说,Apache Web 服务器自动索引生成是通过使用 Options +IndexesOptions Indexes 指令启用的。

      如果请求映射到目录的 URL,并且该目录中没有 DirectoryIndex,则 mod_autoindex 将返回目录的格式化列表。

      【讨论】:

      • 谢谢,但我想,我问了 2 个问题?
      • @AliBhutta 这很有趣,因为它解决了您的两个问题。不允许您编制索引,Xampp 找不到其他页面
      • 谢谢,我没有选择索引在 xampp 中的含义是什么?抱歉,如果这似乎是一个奇怪的问题。
      • 嘿@AliBhutta 我将更新答案并尝试解释索引:)
      • 谢谢,我想再问一件事,我们不能在没有“VirtualHost”的情况下将 xampp 用于 Laravel,正如您在回答中所说的那样?即,我不能使用 localhost/myapp/public,而不是使用 127.0.0.1::8000?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多