我想将域名重定向到服务器子目录

时间:2016-10-26 02:52:26

标签: apache .htaccess redirect mod-rewrite url-rewriting

我想通过使用apache重写规则将域名重定向到服务器子目录。如何更改.htaccess文件?

www.a.com绑定/ a

www.b.com绑定到/ b

我无法更改httpd-vhosts.conf,因为有些跨域问题。

/ d有一个.htaccess文件,如果删除它我会抓到404错误,否则我会抓住ERR_TOO_MANY_REDIRECTS。

.htaccess文件:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

这是:(在您网站的根目录中保存为.htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.*)\.com$
RewriteRule ^(.*)$ /full/path/to/document/root/%1/$1 [END]

网站root,是您在apache2 / vHost配置中定义的DocumentRoot。 你说你想要www.a.com重定向到/aDocumentRoot是路径/的完整系统路径

这适用于Apache 2.4,而非2.2。

回复第一条评论:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(a|b|c).com$
RewriteRule ^(.*)$ /full/path/to/document/root/d/$1 [END]
RewriteCond %{HTTP_HOST} ^www.(.*)\.com$
RewriteRule ^(.*)$ /full/path/to/document/root/%1/$1 [END]