Apache将子域重定向到文件夹,将子文件夹作为子域进行处理

时间:2012-12-21 15:44:51

标签: apache .htaccess mod-rewrite seo subdomain

它可能看起来很复杂,但我需要更改现有网站的结构,以使其更加友好。目前的结构是面向子域的。

ex: sub .example.com / page / var / var2 /...

我需要合并同一顶级域名下的所有子网站。

ex:www.example.com/sub/page/var/var2 /...

这部分已经为我使用了这个:

# If empty subdomain, redirect to "www"
RewriteCond     %{HTTP_HOST} ^example.com$ 
RewriteRule     ^(.*) http://www.example.com/$1 [QSA,L,R=301]

# If not empty subdomain and not "www", redirect to directory
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$
RewriteRule (.*) http://www.example.com/%1/$1 [QSA,R=301]

显然,由于文件夹不存在,我得到" Not found"错误。

这是我尝试达到的行为:

在地址栏中,显示

www.example.com/ sub / page / var / var2 /...

但无缝地将其处理为

.example.com的/页的/ var / VAR2 /...

有关于htaccess的任何想法吗?

1 个答案:

答案 0 :(得分:0)

http://www.website.com/page.html

RewriteEngine On         RewriteCond%{HTTP_HOST}!oldexample.com $ [NC]         RewriteRule ^(。*)$ http://www.newexample.com/ $ 1 [L,R = 301] 同一顶级域名下的所有子站点。