将文件夹中的所有页面重定向到单个 URL(主页)的 RewriteRule 是啥?

Posted

技术标签:

【中文标题】将文件夹中的所有页面重定向到单个 URL(主页)的 RewriteRule 是啥?【英文标题】:What's the RewriteRule to redirect all pages in a folder to a single URL (the Homepage)?将文件夹中的所有页面重定向到单个 URL(主页)的 RewriteRule 是什么? 【发布时间】:2019-06-12 14:34:01 【问题描述】:

您好,我想 301 将投资组合文件夹中的所有 url(包括文件夹名称)重定向到主页。

有很多类似的问题/答案,但我能找到的只是简单地从 URL 中删除文件夹。我不想要那个。我需要重定向到单个 URL。即从源 URL 中删除所有内容并重定向到主页。

我要重定向的网址示例

https://example.com/portfolio/
https://example.com/portfolio
https://example.com/portfolio/this-is-a-page
https://example.com/portfolio/this-is-a-another-page

我在下面使用了这个正则表达式,但它不起作用,因为它不是重定向到主页,而是从以下位置重定向: https://example.com/portfolio/this-is-a-page 到 https://example.com/this-is-a-page

我需要它重定向到 https://example.com/ 无论 /portfolio/ 子 url。我究竟做错了什么?

^/?portfolio/(.*)$
https://example.com/$1

【问题讨论】:

【参考方案1】:

你可以使用:

^/?portfolio(/|$)
https://example.com/

没有 $1 ,因为这个 $1 只是用来复制 URL 的结尾

重写:

RewriteRule ^/?portfolio(/|$) / [NC,R=301,L]

【讨论】:

当我在regex101.com 上测试它时出现了一些模式错误,我也无法让它工作。它重定向到主页,但保留 URL 的子部分,因此转到 404。 这似乎适用于儿童,但不适用于文件夹:RewriteRule ^portfolio/。 / [R=301,L] 谢谢@Croises - 现在可以使用了!我非常感谢你的帮助。我没有意识到我在重写方面也需要帮助,但显然我做到了。我更新了问题以帮助未来的搜索者。

以上是关于将文件夹中的所有页面重定向到单个 URL(主页)的 RewriteRule 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将所有子目录页面重定向到 .htaccess 中的新域主页

我所有的 WordPress 页面都重定向到 Xampp 的主页

MODX 中的友好 URL 重定向到主页

我所有的个人 wordpress 页面都重定向到 xampp 默认页面

htaccess 将所有页面重定向到单个页面

Rails:将所有未知路由重定向到 root_url