我正在尝试将文件夹及其所有子文件重定向到带有 .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/
有人可以帮忙吗?谢谢。如果有什么不清楚的,请告诉我。
默认情况下,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]
这是另一个对我有用的 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/
我更喜欢以下方法:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/somedir [NC]
RewriteRule /(.*) http://somesite.com/lost/$1 [R=301,L]
我不得不将网址从旧网站版本重新路由到新版本,所以这是我将任何链接从 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]