Несколько доменов дополнений, один файл htaccess - PullRequest
0 голосов
/ 12 января 2012

Допустим, мое корневое доменное имя main.com , и у меня есть два аддон-домена: addon1.com и addon2.com .

Мой сценарий уже готов, и я могу видеть свои сайты следующим образом:

    www.main.com/show.php?domain=addon1.com 

Но я хочу, чтобы веб-сайты отображались через их домены.Я имею в виду, когда я открываю addon1.com, я хочу видеть вывод show.php? Domain = addon1.com .Также эти два домена добавляются как домен дополнения, и их каталог:

    main.com/addon1.com/
    main.com/addon2.com/

Я записал файл htaccess в корневую папку (main.com/.htaccess)

    Options +FollowSymLinks
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^www\.addon1\.com$ [NC]
    RewriteRule ^(.*)$ /show.php?domain=addon1.com&$1

    RewriteCond %{HTTP_HOST} ^www\.addon2\.com$ [NC]
    RewriteRule ^(.*)$ /show.php?domain=addon2.com&$1

Но яполучаю 500 интервал ошибки.Любой совет?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 июля 2017

Вы должны были включить " RewriteBase ", чтобы помочь.

# tell mod_rewrite to activate and give base for relative paths
  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase   /

# for the active site in hosting root folder,
# tell it not to look for a subfolder by skipping next rule
  RewriteCond %{HTTP_HOST}   ^(www\.)?main\.com [NC]
  RewriteRule ^(.*)$         - [S=1]

# the domain-name = sub-folder automation
# thus addon-domain.com in /addon-domain(\.com)?/
  RewriteCond %{HTTP_HOST}   ([^.]+)\.com
  RewriteCond %{REQUEST_URI} !^/%1
  RewriteRule ^(.*)$         %1/$1 [L]

# to answer your question swap the above 
# domain-name = sub-folder automation for this rule
  RewriteCond %{HTTP_HOST}   ([^.]+)\.com$ [NC]
  RewriteCond %{REQUEST_URI} !^/show.php
  RewriteRule ^(.*)$         /show.php?domain=%1&$1 [L]
# although, the above line may require this instead
  RewriteRule .              main.com/show.php?domain=%1&$1 [L]
0 голосов
/ 12 января 2012

Ваши правила зациклены./show.php возвращается через механизм перезаписи и работает бесконечно.Вам нужно добавить условия, чтобы они не зацикливались:

RewriteCond %{HTTP_HOST} ^www\.addon1\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/show.php
RewriteRule ^(.*)$ /show.php?domain=addon1.com&$1

RewriteCond %{HTTP_HOST} ^www\.addon2\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/show.php
RewriteRule ^(.*)$ /show.php?domain=addon2.com&$1
...