【问题标题】:My Laravel routes are only visible through index.php我的 Laravel 路由只能通过 index.php 看到
【发布时间】:2016-10-10 20:15:49
【问题描述】:

我已经检查以确保我启用了 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>

我的虚拟主机如下:

<VirtualHost *:80>
        ServerName cms.dev
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/cms/public
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

【问题讨论】:

    标签: php .htaccess mod-rewrite laravel-5.2


    【解决方案1】:

    您已经创建了一个 .htaccess 文件,但实际上并没有告诉您的虚拟主机“允许”.htaccess 覆盖配置。换句话说,您还没有启用 htaccess 支持。将以下内容添加到您的 VirtualHost 块以启用它:

    <Directory "/var/www">
        AllowOverride All
    </Directory>
    

    根据你的更改目录路径。

    【讨论】:

    • 我很高兴它有帮助。 :)
    猜你喜欢
    • 2012-04-15
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2020-02-13
    • 2018-01-01
    • 1970-01-01
    相关资源
    最近更新 更多