Как настроить файл .htaccess для маршрутизации двух разных веб-сайтов на моем сервере общего хостингаPhp

Кемеровские программисты php общаются здесь
Ответить
Гость
 Как настроить файл .htaccess для маршрутизации двух разных веб-сайтов на моем сервере общего хостинга

Сообщение Гость »

Я использую общий хостинг Host Gator, и у меня уже есть PHP-приложение, работающее в другом домене.
Теперь я разместил другой домен с помощью своего приложения React.
Хостинг работает хорошо, но когда я перезагружаюсь по определенному URL-адресу, я получаю ошибку 500.
Я нашел ответ: маршрутизатор React выполняет маршрутизацию, поэтому при перезагрузке по определенному URL-адресу он не находит файл для этого URL-адреса. имеет смысл.
исходный файл .htaccess в папке public_html

Код: Выделить всё

# Header add Access-Control-Allow-Origin *
Header add Access-Control-Allow-Methods "GET,POST,OPTIONS,DELETE,PUT"
Header add Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With, x-api-key"

# Header set Access-Control-Allow-Origin *



Options -MultiViews -Indexes


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]


# Header add Access-Control-Allow-Origin "*"
# Header add Access-Control-Allow-Methods "GET,POST,OPTIONS,DELETE,PUT"
# Header add Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php82” package as the default “PHP” programming language.

AddHandler application/x-httpd-ea-php82___lsphp .php .php8 .phtml

# php -- END cPanel-generated handler, do not edit
Теперь я пытаюсь добавить свои собственные правила маршрутизации для приложения реагирования, которые я нашел в блоге.
добавил их в блок IfModule. .

Код: Выделить всё

RewriteCond
правила уже существуют, поэтому я не дублировал их

Код: Выделить всё

 RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.html [L]
и после отладки я понял, что порядок имеет значение
теперь файл выглядит так

Код: Выделить всё

# Header add Access-Control-Allow-Origin *
Header add Access-Control-Allow-Methods "GET,POST,OPTIONS,DELETE,PUT"
Header add Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With, x-api-key"

# Header set Access-Control-Allow-Origin *



Options -MultiViews -Indexes


RewriteEngine On

#FOR REACT
RewriteBase /
RewriteRule ^index\.html$ - [L]
#

# 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} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#FOR REACT
RewriteRule . /index.html [L]
# RewriteRule ^ index.php [L]


# Header add Access-Control-Allow-Origin "*"
# Header add Access-Control-Allow-Methods "GET,POST,OPTIONS,DELETE,PUT"
# Header add Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php82” package as the default “PHP” programming language.

AddHandler application/x-httpd-ea-php82___lsphp .php .php8 .phtml

# php -- END cPanel-generated handler, do not edit

теперь проблема связана с двумя последними правилами в блоке:

Код: Выделить всё

RewriteRule .  /index.html [L]
# RewriteRule ^ index.php [L]
если я использую оба, оба моих сайта выдают 404
если я использую index.html, реакция работает отлично, если я использую index.php, веб-сайт php работает правильно
p>
как я могу использовать оба варианта без проблем с маршрутизацией?

Подробнее здесь: https://stackoverflow.com/questions/782 ... -my-shared
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»