php - 带有重复 URL 重定向的本地 Laravel 错误 404

标签 php laravel apache error-handling

目前正在尝试在本地 PC 上设置 Laravel 项目。我添加了主机名 127.0.0.1 本地主机-smt 到 Windows 主机文件并编辑我的 Apache httpd-vhost.conf:

<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "C:/xampp/htdocs/project1"
     <Directory "C:/xampp/htdocs/project1/">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

 
<VirtualHost *:80>  
    ServerName localhost-smt  
    DocumentRoot "C:/xampp/htdocs/project1/smt/public"  
    ErrorLog "logs/testseite-error.log"  
    CustomLog "logs/testseite-access.log" common  
    <Directory "C:/xampp/htdocs/project1/smt/">  
    AllowOverride All  
    Allow from All  
    </Directory>  
</VirtualHost>
我的 Apache httpd.conf
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
每次我连接到 localhost-smt/home 时,我都会收到一个双 URL,例如 http://localhost-smt/127.0.0.1/home .如果我从 localhost 导航到公用文件夹并添加 /首页 我收到以下 URL http://localhost/smt/public/127.0.0.1/smt/public/home .
我尝试了很多不同的解决方案,但到目前为止都没有奏效。如果有人能帮助我解决这个谜题,我将不胜感激。

最佳答案

我不知道如何使用 .conf 文件来做到这一点,但我在使用 Xampp 时用来实现这一点的方式如下,这样做显然意味着撤销你对 Xampp 与.conf 文件已编辑。

  • 将名称解析添加到您的主机文件

  • 127.0.0.1 dev.projectName


  • 将以下 .htaccess 文件添加到项目目录的根目录(通常为“C:/xampp/htdocs”)

  • RewriteEngine On
    RewriteCond %{HTTP_HOST} !^dev.projectName$
    RewriteRule .? - [S=1]
    RewriteRule ^(.*)$ projectName/$1 [L]
    

  • 将以下 .htaccess 文件添加到项目的根目录(通常为“C:/xampp/htdocs/projectName”)

  • RewriteEngine On
    RewriteBase /dev.projectName/
    
    RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
    RewriteRule ^ %1 [L,NE,R=302]
    
    RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
    

  • 将以下 .htaccess 文件添加到您的公共(public)目录(通常为“C:/xampp/htdocs/projectName/public”)

  • RewriteEngine On
    RewriteBase /dev.projectName/public/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [QSA,L]
    

  • 这可以通过转到http:\\dev.projectName查看

  • 我知道这是一种冗长的方法,但这是我当时能找到的唯一解决方案,它对我有用。
    每次创建新项目时都必须这样做确实会变得很痛苦,这也是我切换到 docker 的原因之一,无论如何,我认为这是一个更好的解决方案,

    关于php - 带有重复 URL 重定向的本地 Laravel 错误 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63263359/

    相关文章:

    mysql - Laravel:服务器发送的未知类型 245。

    php - Laravel Eloquent : How to get only certain columns from joined tables

    php - 拉维尔 5.3 : Creating a PostCommentsController for a Blog

    python - 乘以 Django Apache 服务器

    Android API 23 删除的包

    php - 无法删除 index.php,自定义路由不起作用

    php - 函数与对象最佳实践

    php - 这是我的 laravel 项目中的一个额外的 ")",它为我查询 laravel

    regex - mod_rewrite 和正则表达式 OR 条件

    php - Facebook access_token 无效