SvelteKit项目静态构建的Apache2配置

c6ubokkw  于 2023-03-31  发布在  Apache
关注(0)|答案(1)|浏览(156)

我有一个SvelteKit项目,其中有两个页面,结构如下:

+layout.js
+layout.svelte
+page.svelte
page-two
       |__+page.svelte

page-two只能通过输入URL访问,因为根页面不会链接到它。当使用vite dev在本地运行项目时,将\page-two附加到URL可以正确加载页面,但是当将项目部署到Apache 2服务器试图访问page-two时,将返回HTTP 404。
以下是我的Apache 2配置:

ServerAdmin contact@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/project/build/

        // Logging
        // SSL

从URL访问第二页时缺少哪些配置?我尝试在this gist中添加规则,但没有效果。

nbewdwxp

nbewdwxp1#

您有多种选择:

**A.**开启SvelteKit的trailingSlash和Apache的DirectoryIndex

// src/routes/+layout.js
export const trailingSlash = 'always';

并更新内部链接以包含尾随斜杠。

**B.**创建一个重写规则,当请求为/page-two时查找page-two.html

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

相关问题