Как использовать .htaccess для перенаправления трафика c между двумя Laravel развертываниями в зависимости от условия - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть фундаментальная проблема. Я развертываю модуль для веб-приложения, где приложение уже существует. Существующее приложение работает на Laravel 5.6, а я пытаюсь развернуть новый модуль на Laravel 6. Лично я не хочу вмешиваться в существующее приложение. Я предпочитаю развертывать новый модуль как другое приложение Laravel. На данный момент я развернул новый модуль на root, а существующий в папке с надписью «EN». Я пробовал следующие команды в .htaccess

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ secureurlhere/$1 [R,L]

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/first-path/$
RewriteCond %{REQUEST_URI} ^/anotherpath/$
RewriteCond %{REQUEST_URI} ^/stillanotherpath/$
RewriteRule .* myurl/EN/$1 [R=301,L]

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^/EN/public/
  RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>

Я ожидаю, что это сделает следующее:

  1. Перенаправить все трафики c с http: // на https: //

  2. Любой трафик c, который не идет в / first-path, / anotherpath или / stillanotherpath для перенаправления на mydomain / EN / path

Однако я вижу, что traffi c to / first-path, / anotherpath, stillanotherpath не перенаправляют на / EN / path, как я ожидал.

Я буду признателен любому руководство по правильной работе.

Спасибо

1 Ответ

0 голосов
/ 05 февраля 2020

Я предполагаю, что главная проблема здесь - перенаправления URL, так что это все, что я настроил. Если вы замените текущие блоки перенаправлений этим, он должен работать:

RewriteCond %{REQUEST_URI} ^/first-path [OR]
RewriteCond %{REQUEST_URI} ^/anotherpath [OR]
RewriteCond %{REQUEST_URI} ^/stillanotherpath
RewriteRule ^(.*)$ myurl/EN/$1 [R=301,L]

Вы можете проверить его в действии здесь: https://htaccess.madewithlove.be?share=aebb5858-a512-5b79-98fb-f2aa3c28da95

...