htaccess文件在Linux上的Laravel中无法正常工作

时间:2019-02-10 10:16:26

标签: php laravel .htaccess

我正在研究Laravel项目。我正在从网址中删除“ / public”,但仅在welcome页上有效,而其他页面,例如/login/register则无法正常工作。显示错误。

  

在此服务器上找不到请求的URL / GME /登录。

     

位于本地主机端口80的Apache / 2.4.18(Ubuntu)服务器

但是当我在URL中使用public/index.php时,它就起作用了。

  

http://localhost/GME/public/index.php/login

这是我的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]

  

注意:我正在使用linux基本OS loki版本   Directory Structure

1 个答案:

答案 0 :(得分:0)

我认为您需要将此添加到 GME 目录.htaccess

RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]