Laravel 10+Breeze项目URL域名重复问题求助
解决Laravel 10 + Apache别名导致的URL重复问题
针对你遇到的访问http://localhost/bcl自动跳转到http://localhost/bcl/bcl的问题,以下是几个合理且不修改vendor文件的解决方案:
1. 调整public目录下的.htaccess文件
Laravel默认的.htaccess未适配Apache别名场景,需添加RewriteBase指定别名路径:
修改D:/projects/bcl/public/.htaccess,在RewriteEngine On后添加RewriteBase /bcl/:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On RewriteBase /bcl/ # 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] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
2. 正确配置APP_URL并清除缓存
- 在
.env文件中设置:APP_URL=http://localhost/bcl - 执行以下命令清除Laravel配置缓存:
php artisan config:clear php artisan cache:clear
3. 确保Apache mod_rewrite模块已启用
打开Apache的httpd.conf配置文件,取消注释以下行(若未启用):
LoadModule rewrite_module modules/mod_rewrite.so
4. 重启Apache服务
完成以上修改后,重启Apache服务器使配置生效。
这些改动均为项目内的合理配置调整,不会依赖vendor目录的修改,且能长期生效。
内容的提问来源于stack exchange,提问作者Neha
相关产品推荐
相关产品推荐

