将请求重定向到所有网址,但使用.htaccess重定向

时间:2012-10-02 12:12:59

标签: wordpress .htaccess redirect

我的网站只有一个wordpress(让我们称之为博客)应用程序。我现在需要将另一个Web应用程序(我们称之为组合)添加到同一个域,并将博客移至site.com/blog。用户将能够在启动页面上选择要访问的是哪一个。所以基本上我将有以下结构:

site.com -> splash page
site.com/blog
site.com/portfolio

问题是,我不想将网络上的现有链接分解为博客帖子,并且希望301将所有不适用于/ portfolio的请求重定向到博客应用程序,例如:

site.com/about_me redirects to site.com/wordpress/about_me but
site.com/portfolio/index doesn't get redirected.

我想这是在.htaccess文件中完成的,但经过多次阅读后无法使其正常工作。

1 个答案:

答案 0 :(得分:1)

使用RewriteCond匹配portfolio并对不匹配的请求采取行动:

RewriteEngine On
# if it isn't a real existing file (like img or css)
# Remove these two lines if your images and CSS break on the wordpress site.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite (redirect 301) requests not already to portfolio or wordpress to /wordpress
RewriteCond %{REQUEST_URI} !^/(portfolio|wordpress)
RewriteRule ^(.*) wordpress/$1 [L,R=301]