.htaccess将文件夹重定向到网址

时间:2012-07-30 05:08:14

标签: .htaccess redirect

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

但是

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/

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

4 个答案:

答案 0 :(得分:34)

默认情况下,Redirect路径节点映射到新路径节点,因此第一条路径后的所有内容都会附加到目标网址。

尝试:

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

或者如果您更喜欢使用mod_rewrite而不是mod_alias:

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

答案 1 :(得分:9)

这是另一个适用于我的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/

答案 2 :(得分:1)

我执行以下方法:

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

答案 3 :(得分:0)

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

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

它没有做的是重写像 domain.com/about-us/thing.html =&gt;这样的内容。 domain.com/about-us.html

它适用于没有扩展名的内容 domain.com/about-us/something-in-url =&gt; 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]