.htaccess重定向到另一个文件夹,但保留原始域

时间:2017-10-16 04:52:23

标签: apache .htaccess redirect

首先,

我的'example.com'域已链接到'/home/defaultfolder/'文件夹。

我想重定向

example.com , www.example.com

/home/somefolder/example/,而不是/home/defaultfolder/文件夹

使用.htaccess。 (两者都在DocumentRoot目录中)

还有子域名,如

a.example.com

/somefolder/example/a/

但保留'example.com'域名。

我在网上尝试了一些例子,但没有任何事情可以做到。

如何编写.htaccess呢?谢谢。

当然,我无法更改服务器设置(如别名虚拟主机..),这就是我尝试通过修改文件来实现的原因。

我试过了

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule /somefolder/example/$1 [R=301,NC,L]

RewriteCond %{HTTP_HOST} ^(www.)?example.com$   
RewriteRule !^/somefolder/example/ /somefolder/example/1%{REQUEST_URI} [L]


RewriteCond %{HTTP_HOST} ^/?(?:www\.)?example.com
RewriteRule ^(.*)$ /somefolder/example/$1 [R=permanent,L]

和其他一些人......

2 个答案:

答案 0 :(得分:1)

/home/.htaccess(网站根目录)中这样做:

RewriteEngine On

# handle example.com
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example)\.com$ [NC]
RewriteRule .* somefolder/%1/$0 [L]

# handle any sub.example.com
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^([^.]+)\.(example)\.com$ [NC]
RewriteRule .* somefolder/%2/%1/$0 [L]

答案 1 :(得分:0)

我认为您应该修改服务器设置,将域根文件夹设置为您想要的。