无法使用.htaccess正确重定向

时间:2013-02-19 12:59:15

标签: mod-rewrite apache2 rewrite

我想在旧网站上重定向以下路径:

/apps
/apps/about
/apps/everything_else
/site

使用以下RewriteRule到另一个子域:

RewriteRule ^site/?$ http://site.newsite.com [R=301,NC,L]

但没有任何反应,这条规则有什么不对吗?另外,如何将应用添加到同一规则中?

以下是否有效:

RewriteRule ^site/?|apps(/.)?$ http://site.newsite.com [R=301,NC,L]

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/(apps|site).*   [NC]
RewriteRule .*   http://site.newsite.com/ [R=301,L]

静默地映射:

http://site.oldsite.com/apps

http://site.oldsite.com/apps/anything

http://site.oldsite.com/site

http://site.oldsite.com/site/anything

要:

http://site.newsite.com/

没有任何内容传递给替换网址,因为OP没有在问题中提及该要求。

假设字符串appssite已修复。

对于静态映射,请将[R=301,L]替换为[L]