我想通过使用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>
答案 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重定向到/a
,DocumentRoot
是路径/
的完整系统路径
这适用于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]