主域子域名htaccess

时间:2014-06-05 03:53:24

标签: apache .htaccess mod-rewrite

我有一个名为www.abc123.com的域名。

在public_html /之后,我有一个名为portfolio的文件夹,可以为www.abc123.com运行一切

在public_html /

之后使用此htaccess
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteRule ^$ portfolio/index.php [L]
RewriteRule ^(.+)$ $1.html [L,QSA]
RewriteRule ^(.*)\.(\d+)(_m_\d+)?\.([^\.]+)$    $1.$4    [L,QSA]

</IfModule>

因此,当访问www.abc123.com时,它将使用www.abc123.com的干净网址运行portfolio / index.php。

现在我添加了一个名为coolstuff的子域名,现在我的文件管理器看起来像这样

public_html/
    cgi-bin/
    portfolio/
    coolstuff/index.html

现在每次我去 coolstuff.abc123.com/index.html 我都会收到500内部服务器错误。 如果我拿出我的htaccess, coolstuff.abc123.com/index.html 将会显示 www.abc123.com 将显示我的cgi-bin,投资组合,coolstuff的锚标记。

我需要:

  • www.abc123.com阅读portfolio / index.php并保留网址(www.abc123.com)
  • 和coolstuff.abc123.com/index.html展示

1 个答案:

答案 0 :(得分:0)

保持这样的规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} abc123
RewriteRule ^$ portfolio/index.php [L]

RewriteCond %{HTTP_HOST} abc123
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f [NC]
RewriteRule ^(.+?)/?$ $1.html [L,QSA]

RewriteCond %{HTTP_HOST} abc123
RewriteRule ^(.*)\.(\d+)(_m_\d+)?\.([^.]+)$ $1.$4 [L]