使用htaccess重定向多个域

时间:2013-10-03 13:00:16

标签: .htaccess redirect dns

我有一个网站,例如: mydomain.com

然后我有其他域名,例如: mydomain.org,mydomain.net ,..设置cpanel插件域功能在目录/域/上用index.php文件

以这种方式当用户继续使用mydomain.net或.org从主网站(mydomain.com)上的/domain/index.php文件重定向时

eveything工作正常,除非用户键入 mydomain.net/somefile mydomain.net/somedir/somefile ,在这些情况下,用户会收到404错误消息< / p>

我的问题是:有一种方法(使用htaccess)从url exept域中删除所有内容(这样,如果用户输入mydomain.net/somefile或mydomain.net/somedir/somefile  通常由/domain/index.php文件重定向?)

1 个答案:

答案 0 :(得分:3)

将此添加到您的网络根.htaccess目录

中的/
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)mydomain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^ domain/index.php [L]

此拦截任何域的所有404(mydomain.com除外)并提供/domain/index.php的请求。如果您还希望更改地址栏网址;比方说,从mydomain.net/somefilemydomain.net使用重定向[R]标记为

RewriteRule ^ http://%{HTTP_HOST}/ [R=301,L]


/domain/.htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^ http://%{HTTP_HOST}/ [R=301,L]

%{HTTP_HOST}条件已被删除,因为只有非.com个域映射到/domain