.htaccess从子域重定向到main

时间:2014-01-01 10:50:53

标签: .htaccess redirect

我怎样才能使用.htaccess,将人们从子域名重定向到主要用php get?例如:

  

hi.example.com> example.com/website.php?name=hi

如果你输入一个php文件,它会添加它来获取,例如:

  

hi.example.com/contect.php>   example.com/website.php?name=hi&page=contect

如果您有更多信息,那么它会将其添加到网址,例如:

  

hi.example.com/contect.php?action=success#messege>   example.com/website.php?name=hi&page=contect&action=success#messege

hicontect仅是示例,我希望其他所有名称都能正常运行。例如:

  

my-page.example.com/pageno1.php>   example.com/website.php?name=my-page&page=pageno1

所有子域存在

2 个答案:

答案 0 :(得分:1)

RewriteCond %{HTTP_HOST} ^(www\.)?hi\. [NC]
RewriteRule ^(.*)$ http://www.example.com/website.php?name=hi [R=301,L]

或者,如果您有查询字符串,请使用

RewriteCond %{HTTP_HOST} ^(www\.)?hi\. [NC]
RewriteRule ^(.*)$ http://www.example.com/website.php? [R=301,L]

答案 1 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

# ignore for main domain
RewriteCond %{HTTP_HOST} ^(www\.)domain\.com$ [NC]
RewriteRule ^ - [L]

RewriteCond %{QUERY_STRING} !name=[^&]+
RewriteCond %{HTTP_HOST} ^([^.]+)\.
RewriteRule ^$ http://example.com/website.php?name=%1 [R,L,QSA]

RewriteCond %{QUERY_STRING} !name=[^&]+    
RewriteCond %{HTTP_HOST} ^([^.]+)\.
RewriteRule ^(.+?)\.php$ http://example.com/website.php?name=%1&page=$1 [R,L,QSA]