我刚刚开始使用我的第一个Next.JS应用程序。当我意识到我不知道如何使用npx create-next-app文件时,我使用了.htaccess并制作了几个页面。我已经习惯了Apache帮我处理这些事情,只是简单地把我的.htaccess文件放到我的Next.JS应用程序的根目录中,这一点也就不足为奇了。如何设置类似于以下内容的.htaccess文件?
RewriteEngine on
RewriteRule ^profile/([a-z0-9]+) profile.html发布于 2019-02-23 05:12:14
.htaccess文件是特定于Apache的,因此没有Apache您就不能使用它们。您可以使用Apache作为node.js应用程序的代理,但仍然不会使用.htaccess文件;您可以在Apache中配置RewriteRules,但是不需要在应用程序逻辑中直接处理所有路由。
在node.js中,您不需要像Apache这样的单独的web服务器。您的程序可以长时间运行,绑定到端口,侦听并响应请求,这是web服务器通常提供的主要功能。
Next.JS在这里提供了设置自定义路由的文档:https://nextjs.org/docs/#custom-server-and-routing
发布于 2022-01-28 11:27:23
如果您在项目.htaccess 上使用下一次导出到SSG,则文件将修复重定向问题。
RewriteEngine On
RewriteRule ^([^/]+)/$ $1.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]发布于 2019-09-11 07:36:16
如果您的服务器已经在使用Apache,并且已启用mod_rewrite,则可以使用此.htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>https://stackoverflow.com/questions/54838373
复制相似问题