我最近将网站从 Wordpress 移至 Confluence,但在页面重定向方面遇到了问题。我已经为我的 Confluence 设置了一个自定义 404 页面,但只有在您键入时它才有效
https://www.freesoftwareservers.com/asdasdas
但如果您转到旧链接,例如
https://www.freesoftwareservers.com/index.php/2015/09/03/install-dd-wrt-on-linksys-ea6500/
它会将您带到我的“融合”页面,但这/wiki
是一个特殊的插件,我希望成为面向公众的一面。我通过不同的子域访问该页面,然后是 www.
我的“解决方法”是两件事之一,
1)全部重定向https://www.freesoftwareservers.com/index.php/*
到https://www.freesoftwareservers.com/wiki
2)全部重定向https://www.freesoftwareservers.com/(Anything BUT /wiki)
到https://www.freesoftwareservers.com/wiki
我在 NginX 网站上找到了一些接近的东西,但它比我需要的更复杂,而且我在所需的表达方面遇到了麻烦。
https://www.nginx.com/blog/creating-nginx-rewrite-rules/
以下是使用 rewrite 指令的 NGINX 重写规则示例。它匹配以字符串 /download 开头,然后在路径后面的某个位置包含 /media/ 或 /audio/ 目录的 URL。它将这些元素替换为 /mp3/ 并添加适当的文件扩展名 .mp3 或 .ra。 $1 和 $2 变量捕获未更改的路径元素。例如,/download/cdn-west/media/file1 变为 /download/cdn-west/mp3/file1.mp3。
server {
...
rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra last;
return 403;
...
}
也许我需要将其分成两部分,一个返回 404 的服务器块和一个 404 处理程序,但我想将这一切保留在我现有的 nginx 服务器块中。
顺便说一句,我已经使用以下重写规则将domain.com/重定向到domain.com/wiki,但只有在您键入时才有效https://www.freesoftwareservers.com最后没有任何东西。
rewrite ^/$ /wiki permanent;
感谢任何帮助,互联网上有许多指向我的网站的损坏链接:)
答案1
好吧,当我发布赏金后,我在为我的问题编写更好的描述时就弄清楚了......
rewrite ^/index.php /wiki permanent;