Apache 上的 NextJS

问题描述 投票:0回答:1

构建我的 NextJs 应用程序并运行后,它可以使用以下 .htaccess 在 apache 上运行良好。但是,我在动态路由方面遇到问题(例如:posts/[id]),对于这些情况,它返回块错误。

RewriteEngine On

DirectoryIndex disabled

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://127.0.0.1:4001/ [P,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:4001/$1 [P,L]

reactjs apache next.js deployment next-auth
1个回答
0
投票

即使您为此使用 mod_rewrite,您仍然应该包含 ProxyPassReverse 指令。

来自 Apache 文档:

RewriteCond "%{REQUEST_FILENAME}"       !-f
RewriteCond "%{REQUEST_FILENAME}"       !-d
RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
ProxyPassReverse "/" "http://old.example.com/"

讨论:在每种情况下,我们都添加一个 ProxyPassReverse 指令 确保后端发出的任何重定向都正确传递 交给客户。

尽可能考虑使用 ProxyPass 或 ProxyPassMatch 优先选择 mod_rewrite。

© www.soinside.com 2019 - 2024. All rights reserved.