我正在尝试将文件夹及其所有子文件重定向到带有.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/
有人可以帮忙吗?谢谢。如果有任何不清楚的地方,请告诉我。
答案 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]