子域的URL重写

时间:2014-05-12 01:30:54

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

除了我的主域名外,我还有几个子域名。像这样:domain.com,about.domain.com和new.domain.com。

所有3个文件在各自的根文件夹中都有自己的.htaccess文件。

我正在尝试做两件事:

  1. 所有流量分别路由到相同的网址。
  2. URL thankyou.php被重写为/ thank-you
  3. 这两项都适用于主域domain.com。

    但它们不适用于子域。

    这适用于domain.com:

    Options +FollowSymLinks
    
    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^domain.com
    
    RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    
    RewriteRule ^index.php$ http://www.domain.com [R=301,L]
    
    RewriteRule    ^thank-you/?$    thankyou.php    [NC,L]
    

    感谢您的任何帮助。

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule (about)(/.*|$) $1.domain.com/$2 [R=301,L]

答案 1 :(得分:0)

将此.htaccess用于您的子域:

Options +FollowSymLinks

RewriteEngine on

#RewriteCond %{HTTP_HOST} !^www.
#RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L,NE]

RewriteCond %{THE_REQUEST} \s/+index\.php\s
RewriteRule ^index.php$ / [R=301,L]

RewriteRule ^thank-you/?$ /thankyou.php [NC,L]
相关问题