【问题标题】:Main domain subdomain htaccess主域子域 htaccess
【发布时间】:2014-07-25 22:11:53
【问题描述】:

我有一个名为 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 干净 url 的 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、portfolio、coolstuff 的锚标记。

我需要:

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

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    保持这样的规则:

    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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-06
      • 2016-02-06
      • 2014-12-09
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      相关资源
      最近更新 更多