У меня возникла проблема с запуском моего приложения nextjs на моем рабочем сервере. Я перенаправляю его через htaccess следующим кодом:
RewriteRule ^(.*) http://127.0.0.1:1338/$1
Каждый маршрут работает отлично: /blog,/blog/:id, /about и т.д.
Просто "/" не работает при рендеринге с сервера. Я могу без проблем перейти к нему после загрузки другого маршрута.
Я также могу вызвать его с помощью /показатель, но не с помощью мойдомен.tld.
У кого-нибудь есть идея?





Вы пытаетесь перенаправить с помощью модуля Apache, но, похоже, вы используете Node.js
Попробуйте посмотреть на nodejs эквивалент этого .htaccess
Проблема возникает, когда Apache пытается передать файл index.html следующему маршрутизатору, который возвращает ошибку.
Добавление DirectoryIndex disabled в файл .htaccess решает проблему.
Вот полный .htaccess для реализации приложения Node.js с перенаправлением Apache.
RewriteEngine On
# Need to disable DirectoryIndex to avoid rewriting directory URL to index.html
DirectoryIndex disabled
# Redirect home page request to the NextJS server
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://127.0.0.1:4002/ [P,L]
# Redirect all other requests to the NextJS server with the URI appended
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:4002/$1 [P,L]
Это правда, потому что на сервере работает апач, и я должен заставить его перенаправить на правильный порт, который прослушивает экспресс-приложение.