相关疑难解决方法(0)

Next.js SSG 的正确 .htaccess 配置

NextJS 导出一个静态站点,结构如下:


|-- index.html
|-- article.html
|-- tag.html
|-- article
|   |-- somearticle.html
|   \-- anotherarticle.html
\-- tag
    |-- tag1.html
    \-- tag2.html
Run Code Online (Sandbox Code Playgroud)

我正在使用 .htaccess 文件来隐藏 .html 扩展名:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
Run Code Online (Sandbox Code Playgroud)

一切正常,除了:

  • 如果我点击一个链接,domain/article它会显示 article.html 页面,但我的地址栏显示domain/article<--Good。
  • 如果我刷新,我将被发送到地址:(domain/article/注意尾部斜杠),其中列出了文章目录的内容 <--Bad(与标签相同)
  • 同样,手动输入domain/article将我带到domain/article/而不是在article.html没有.html扩展名的情况下显示。

所以...

  • 我该如何解决?
  • 这是 .htaccess 问题吗?
  • nextjs 配置问题?
  • (NextJSarticle\index.html在根目录下创建一个而不是一个文件不是更好吗?)

exportTrailingSlash

我尝试使用exportTrailingSlash似乎相关的方法,但这产生了其他问题,例如在我所有链接的末尾总是有一个斜杠:

例如:如果我去domain/article/somearticle点击刷新,一些东西(.httaccess?)/在最后添加一个给我domain/article/somearticle/不可怕,只是不是很干净和不一致...... …

apache .htaccess mod-rewrite next.js

7
推荐指数
1
解决办法
1562
查看次数

如何在 next.js 中省略 html 扩展名?

我正在使用 next.js 构建一个静态站点,并且我希望我website.com/about.html的工作方式如下:website.com/about- 我不确定为什么它强迫我输入.html.

即使我构建了我的项目:pages/about/index.js- 它会在静态站点上生成一个about.html而不是about/index.html

next.js

5
推荐指数
1
解决办法
874
查看次数

导出静态 HTML 后 Next.JS 链接不起作用

我是 NEXT.JS 的新手,在部署静态站点时遇到一些问题。Nav.tsx我有一个如下所示的组件:

const Nav = () => {
    return (
        <nav className='nav p-3 border-bottom'>
            <Link href='/' passHref>
                <a className='pointer my-auto h2'>Blog </a>
            </Link>
            <Link href='/about' passHref>
                <a className='ms-5 pointer lead my-auto'>Who We Are</a>
            </Link>
            <Link href='/services' passHref>
                <a className='ms-5 pointer lead my-auto'>Services</a>
            </Link>
            <Link href='/contact' passHref>
                <a className='ms-5 pointer lead my-auto'>Contact</a>
            </Link>
        </nav>
    );
};
export default Nav;
Run Code Online (Sandbox Code Playgroud)

当我在本地运行开发服务器时,我可以使用这些链接在我的网站上导航。但是当我构建时,使用next build && next export链接不适用于导航。所有这些链接(/about/services/contact)都是我的目录中的文件pages。我是否在 中写了一些不正确的内容Nav.tsx,或者我误解了 NEXT …

javascript next.js

5
推荐指数
1
解决办法
3848
查看次数

标签 统计

next.js ×3

.htaccess ×1

apache ×1

javascript ×1

mod-rewrite ×1