#laravel #apache #laravel-routing
Вопрос:
Я хотел отправить электронное письмо с кнопкой со ссылкой на страницу, на которую я хотел перенаправить получателя. У меня есть этот маршрут с именем web.php
в файле маршрута:
Route::get('/', [ProbationPeriodController::class, 'index'])-gt;name('Probation.index');
и я добавил этот код для кнопки в своем представлении электронной почты:
lt;a href="{{route('Probation.index')}}" target="_blank"gt;Take Actionlt;/agt;
Я разместил свое приложение на сервере apache в Windows с ярлыком псевдонима apps
, и конфигурация работает нормально. Я также настроил .htaccess
файл так, чтобы он отражал псевдоним, и он отлично работает во всем приложении. Вот мой файл .htaccess:
lt;IfModule mod_rewrite.cgt; lt;IfModule mod_negotiation.cgt; Options -MultiViews -Indexes lt;/IfModulegt; RewriteEngine On RewriteBase /apps/ # 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] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Add /apps/ After The IP Address or Domain name RewriteCond %{REQUEST_URI} !^/apps RewriteRule ^(.*)$ /apps/$1 [L]
Проблема возникает, когда я использую именованный маршрут Probation.index в представлении электронной почты. Электронное письмо отправляется нормально, но когда получатель нажимает на кнопку, он выдает им URL-адрес без псевдонима. Я ожидаю этого: http://example.com/apps/probation
но результат опускает apps
и показывает http://example.com/probation
. Любые предложения приветствуются!
Комментарии:
1. пробовать
route('Probation.index','apps')
2. Вам нужно добавить env var APP_URL — маршрутизатор определяет хост из этого.
Ответ №1:
@Maksim Спасибо тебе. Это решило проблему. Я хотел бы, чтобы вы написали ответ, а не комментарий, чтобы я мог одобрить его как принятый ответ и поддержать вас. Я изменил свой .env
файл и обновил APP_URL
его до соответствующего префикса моих маршрутов.