我正在使用Docusaurus为AWS EC2虚拟服务器上托管的Web应用程序提供用户手册。用户通过应用程序上的按钮访问它。我正在尝试设置它,以便它可以在三个站点上运行,而无需额外配置(即,我只想将代码从GitHub拉到每个站点,而无需单独更改站点)。这三个站点是:
localhost/prsm/doc/help/
exampledev.com/prsm/doc/help/
example.com/doc/help/
--请注意,此目录没有prsm
目录
我已经将docusaurus.config.js
中的baseUrl
设置为/prsm/doc/help/
,并且在前两个站点上运行良好,但在站点3上导致“404未找到”错误。我想在站点3上的.htaccess
文件中使用ApacheRewriteRule
,但无法确定规则应该是什么。或者有没有其他方法可以让它在站点3上工作?(将应用程序放在prsm
子目录中不是一个选项,因为站点3的URL已经为用户所熟知,如果更改,他们会感到困惑)。
1条答案
按热度按时间t1rydlwq1#
听起来好像您只需要在
example.com
主机上请求时删除(通过内部重写)/prsm
路径段(可能存在于Docusaurus生成的URL中)。例如,假设这是Apache,那么您可以在根
.htaccess
文件中使用mod_rewrite:任何对
/prsm/doc/help/<anything>
的HTTP请求都将被重写为doc/help/<anything>
($1
反向引用的值)。请注意,这不会“更改”URL。用户仍将在URL中看到/prsm
前缀。请注意,
RewriteRule
* 模式 * 匹配的URL路径不是以斜杠开头。我已将
docusaurus.config.js
中的baseUrl
设置为/prsm/doc/help/
我不熟悉Docusaurus,但是如果这是在客户端JS中设置的,那么它不能基于
window.location.hostname
属性有条件地设置吗?