簡體   English   中英

Laravel 5.2路由僅在根目錄上有效

[英]Laravel 5.2 routes work only on root directory

當Laravel安裝在不是根域的文件夾中時,我無法訪問我的路由(404)。

例如,如果我在根域中安裝Laravel並添加路由anyroutes我可以anyroutes地訪問localhost/anyroutes

如果我在類似localhost/project/的文件夾中安裝Laravel並添加該路由: localhost/project/public/anyroutes它將得到404。我不得不提到localhost/project/public/index.php/anyroutes將起作用。

我在Laravel的早期版本中沒有這個問題。

我怎樣才能解決這個問題?

Apache(XAMPP),PHP 7,啟用了mod_rewrite並...

更新:

.htaccess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

apache conf:

<Directory />
    Allowoverride All
   # AllowOverride none
    Require all denied
</Directory>


DocumentRoot "E:/projects"
<Directory "E:/projects">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Require all granted
</Directory>

這是我的.htaccess文件。

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM