【发布时间】:2019-02-10 10:16:26
【问题描述】:
我正在做一个 Laravel 项目。我正在从 URL 中删除“/public”,但它仅适用于 welcome 页面,其他页面如 /login,/register 无法正常工作。它显示一个错误。
在此服务器上找不到请求的 URL /GME/login。
Apache/2.4.18 (Ubuntu) 服务器在 localhost 端口 80
但是当我在 URL 中使用 public/index.php 时,它可以正常工作。
这是我的root.htaccess文件代码。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public/
RewriteRule ^(.*)$ public/$1 [L] #relative substitution
RewriteRule ^ index.php
这是我的/public/.htaccess 文件代码。
<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]
【问题讨论】:
-
你能分享你的文件夹结构吗?
-
就像
laravel项目文件夹结构。 -
你在哪里设置了
DOCUMENT_ROOT?是public文件夹吗?还是 laravel 项目的根?您的文档根目录应该是public文件夹。 -
@SakibulAlam 我正在更新我的问题,请查看目录结构