的.htaccess重定向到另一个文件夹,但保留原来的域名
问题描述:
首先,的.htaccess重定向到另一个文件夹,但保留原来的域名
我'example.com'
结构域与'/home/defaultfolder/'
文件夹。
我想用的.htaccess到
example.com , www.example.com
重定向到
/home/somefolder/example/
,不/home/defaultfolder/
文件夹
。 (均为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]
和其他一些..
答
有它这样的/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]
向我们展示你的企图,以便我们可以给你的建议。 – kmoser
@anubhava那么如果路径在DocumentRoot中?我如何管理它? – klados
但是请注意,如果'/ home/defaultfolder /'是您的站点根目录,则'/ home/somefolder /'被视为在'DocumentRoot'之外。 “DocumentRoot”路径中只能考虑'/ home/defaultfolder/somefolder /'。 – anubhava