htaccess - 重写子域正在打破相对路径

时间:2013-07-18 17:36:34

标签: .htaccess path virtual relative wildcard-subdomain

使用cPanel进行我的设置:

  1. domain.com(/的public_html /)
  2. mysub.domain.com(/的public_html / 2013 / sitepath /)
  3. 目标:将sub2.mysub.domain.com/save-path-info重定向到mysub.domain.com/save-path-info,而不更改sub2.mysub.domain.com的网址。换句话说,我希望anysub.mysub.domain.com与mysub.domain.com几乎完全相同。

    代码:

     Options +FollowSymLinks
     Options +Indexes
     RewriteEngine On
     RewriteCond %{ENV:REDIRECT_STATUS} ^$
     RewriteCond %{HTTP_HOST} !^www\.2013.cqueue\.com$ [NC]
     RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.2013.cqueue\.com$ [NC]
     RewriteRule (.*) /2013/sitepath/$1 [L]
    

    上面的代码最初位于mysub.domain.com的根目录中,但直到我将其移动到domain.com的根目录才能生效。它成功地保留了URL和路径,但它打破了模板的相对路径。

    示例:模板通常会查找 / 的路径,但是,在模板上方重写时,他们需要查看/ 2013 / sitepath /

    修改

     Options +FollowSymLinks
     Options +Indexes
     RewriteEngine On
     RewriteCond %{HTTP_HOST} ^[^\.]+\.mysub\.domain\.com$ [NC]
     RewriteRule ^(.*)$ http://mysub.domain.com/$1 [L]
    
     # -FrontPage-
    
     IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
    
     <Limit GET POST>
               order deny,allow
     deny from all
     allow from all
     </Limit>
     <Limit PUT DELETE>
               order deny,allow
          deny from all
     </Limit>
          AuthName domain.com
     AuthUserFile /home/uadmin/public_html/_vti_pvt/service.pwd
     AuthGroupFile /home/uadmin/public_html/_vti_pvt/service.grp
    

1 个答案:

答案 0 :(得分:0)

试试这段代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^\.]+\.mysub\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://mysub.domain.com/$1 [L]