.htaccess 将文件夹重定向到 url

Posted

技术标签:

【中文标题】.htaccess 将文件夹重定向到 url【英文标题】:.htaccess redirect folder to a url 【发布时间】:2012-07-27 18:39:56 【问题描述】:

我正在尝试将文件夹及其所有子文件重定向到带有 .htaccess 文件的 URL。

但是

Redirect 301 /abc/cba/ http://www.aaa.com/

将使/abc/cba/ddd/index.html 重定向到http://www.aaa.com/ddd/index.html

我想要的是将/abc/cba/ /abc/cba/ddd/index.html 重定向到http://www.aaa.com/

有人可以帮忙吗?谢谢。如果有什么不清楚的地方,请告诉我。

【问题讨论】:

我在 godaddy.com 上有我的共享托管服务器,主域是 abc.com 现在我在其他第三个服务上注册了另一个域 xyz.com,而不是在 godaddy 上。对于这个新网站 xyz.com,我在我的 godaddy 托管服务器的 xyz 目录中安装了 wordpress。现在如何通过保持 abc.com 网站原样将这个 xyz.com 域指向我的托管服务器的 xyz 目录? 【参考方案1】:

默认情况下,Redirect 将路径节点映射到一个新的路径节点,因此第一个路径之后的任何内容都会附加到目标 URL。

试试:

RedirectMatch 301 ^/abc/cba/ http://www.aaa.com/?

或者如果您更愿意使用 mod_rewrite 而不是 mod_alias:

RewriteEngine On
RewriteRule ^/?abc/cba/ http://www.aaa.com/? [R=301,L]

【讨论】:

只是一个提示:你应该确定是否要使用301。因为它真的可以是一个真正的 permanent 重定向(***.com/questions/9130422/…)。如果您不确定并希望避免将来出现麻烦,请使用302。无论如何在实施和测试阶段都是有利的。 大小写重要吗? /abc/CBA/ 会使用提供的解决方案重定向到 http://www.aaa.com/?,还是您也需要考虑大小写选项?另外,? 为我们做了什么?【参考方案2】:

这是另一个适用于我的 mod_rewrite 规则示例

我想将一个子目录重定向到同一个域的根目录。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^sub_directory/(.*)$ /$1 [R=301,NC,L]
</IfModule>

更多例子可以在这里找到:http://coolestguidesontheplanet.com/redirecting-a-web-folder-directory-to-another-in-htaccess/

【讨论】:

【参考方案3】:

我不得不将网址从旧网站版本重新路由到新版本,所以这是我将任何链接从 about-us/* 重新路由到 about-us.html

RewriteEngine on
RewriteRule ^about-us/(.*)$ about-us.html [R=301,L]

它没有做的是重写类似 domain.com/about-us/thing.html => domain.com/about-us.html 之类的东西。

它确实适用于没有扩展名的东西 domain.com/about-us/something-in-url => domain.com/about-us.html

我添加了以下行来重定向 .jpg 和 .png,但它不适用于 .html,我不知道为什么。

RewriteRule ^about-us/(.*).jpg about-us.html [R=301,L]
RewriteRule ^about-us/(.*).png about-us.html [R=301,L]

【讨论】:

【参考方案4】:

我更喜欢以下方法:

 RewriteEngine on
 RewriteCond %REQUEST_URI  ^/somedir           [NC]
 RewriteRule /(.*) http://somesite.com/lost/$1 [R=301,L]

【讨论】:

工作就像一个魅力!非常感谢。

以上是关于.htaccess 将文件夹重定向到 url的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 中的 301 重定向将旧文件路径/名称附加到新 url

markdown [www和https重定向]将所有文件重定向到https url和www域名#www #htaccess

.htaccess 重定向,如果 url 中的文件夹名称

如何通过编辑htaccess文件将URL重定向到新URL

使用 .htaccess 将 http 重定向到 https 时,某些 url 出现奇怪的 401 错误

.htaccess - 将子域重定向到文件夹