Теперь я разместил другой домен с помощью своего приложения 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]
если я использую index.html, реакция работает отлично, если я использую index.php, веб-сайт php работает правильно
p>
как я могу использовать оба варианта без проблем с маршрутизацией?
Подробнее здесь: https://stackoverflow.com/questions/782 ... -my-shared
Мобильная версия