找到特定路径时的.htaccess重定向

时间:2012-12-04 19:44:04

标签: regex apache .htaccess mod-rewrite

我在最近几天努力为.htaccess撰写适当的解决方案,以便我可以将(http://www.)domain.com/path/anotherpath重定向到https://www2.domain.com/path/anotherpath

我设法使其工作如下:

RewriteCond %{THE_REQUEST} www\.domain\.com\path\anotherpath
RewriteRule (.*) https://www2.domain.com/path/anotherpath [R=301,L]

但是,当我需要重定向属于更深层次的页面时,此解决方案似乎不起作用,例如:domain.com/path/anotherpath/level1/level2(level1和level2是动态的)。现在只有在检测到特定的完整网址时才会重定向。

如果不在我的htaccess中定义完整的网址,我怎样才能完成这项工作?

非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(domain\.com)$ [NC]
RewriteRule ^(shop)(/.*|)$ http://www2.%1/$1$2 [R=301,L]