Я использую 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");