#php #laravel #.htaccess #redirect
#php #laravel #.htaccess #перенаправление
Вопрос:
Я уже пытался изменить файл .htaccess, попробовал несколько решений для этого, ничего не работает. Всякий раз, когда я добавляю косую черту в конце к URL, открывается другая страница, чего не должно происходить, добавление косой черты в конце к URL должно перенаправлять его на URL без косой черты в конце. Я попробовал следующие решения:
Чего я хочу достичь, так это http://127.0.0.1:8080/login / должен быть перенаправлен на http://127.0.0.1:8080/login для каждого URL-адреса в моем приложении.
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
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
routes/web.php
<?php
use IlluminateSupportFacadesRoute;
// Navigation Menu
Route::get('advisor', 'AdvisorController@index');
Route::get('investment', 'InvestmentController@index');
Route::get('investor', 'InvestorController@index');
Route::get('product', 'ProductController@index');
Route::get('rate', 'RateController@index');
// Stop registration other functions
Auth::routes([
'register' => false, // Registration Routes...
'reset' => false, // Password Reset Routes...
'verify' => false, // Email Verification Routes...
]);
// Login
Route::get('/', function () {
return redirect('login');
});
// Dashboard
Route::get('/home', 'HomeController@index')->name('home');
//admin users
Route::resource('/admin/users', 'AdminUsersController', ['except' => ['show', 'create', 'store']]);
скриншоты ошибок:
Без косой черты URL-адрес моего приложения:
Теперь, если я добавлю к URL-адресу косую черту в конце, я получу это:
Ответ №1:
Наконец, я смог сделать это с помощью промежуточного программного обеспечения, редактирование .htaccess каким-то образом не работает локально или не работает в моем приложении, в любом случае, проверьте решение ниже:
if (preg_match('/. /$/', $request->getRequestUri()))
{
return Redirect::to(rtrim($request->getRequestUri(), '/'), 301);
}
ссылка
здесь