Laravel 5.2 htaccess правило перезаписи не работает - PullRequest
0 голосов
/ 13 ноября 2018

Я использую Laravel 5.2.Правило перезаписи не работает.Есть два файла htaccess, один в корне, а другой в общедоступной папке.Я попытался положить свой код в обоих htaccess, но не работает.Вот мой код

Root .htaccess

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

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1 

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^test-page$ /myproject/page/1 [L]

    RewriteRule ^ server.php

</IfModule>

Второй htaccess внутри 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]
</IfModule>

Вот мое правило.

RewriteRule ^ test-page $ / myproject / page / 1 [L]

Это перенаправление на мой дом.Также [R = 302, L] работает нормально, но [L] не работает.

Вот маршрут Ларавела

Route::get("/page/{id}","PageController@pageDetail");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...