WAMP Использование PostgreSQL + Drupal 7 + Multisite + CleanURLs - не работает

Как следует из названия, я пытаюсь запустить несколько локальных сайтов разработки на WAMP с использованием Postgresql... Я пробовал так много комбинаций, и ни одна из них не работает.

У меня есть 3 сайта, которые соответствуют сайтам живого производства, поэтому чистые URL-адреса являются ключевыми...

  1. site1.example.com
  2. site2.example.com
  3. site3.example.com

Я установил Drupal7 в локальную папку на моем жестком диске в c:\CM\Web\fooproject
Я создал жесткую ссылку в WAMP на c:\wamp\www\fooproject для c:\CM\Web\fooproject
Я отредактировал "sites.php" в каталоге drupal fooproject\sites, чтобы он выглядел следующим образом:

$sites['localhost.site1.example.com'] = 'site1.example.com';
$sites['localhost.site2.example.com'] = 'site2.example.com';
$sites['localhost.site3.example.com'] = 'site3.example.com';

Я добавил следующее в мой файл hosts на ПК:

127.0.0.1 localhost.site1.example.com
127.0.0.1 localhost.site2.example.com
127.0.0.1 localhost.site3.example.com

Я подключаюсь к сайтам в браузере, например - для site1 по адресу:

"http://localhost/site1.example.com"

Я создал базу данных в PostgreSQL под названием "site1drupal"
Я включил модуль перезаписи в WAMP

Alias /site1.example.com "c:/wamp/www/fooproject/" 

<Directory "c:/wamp/www/fooproject/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>

Я отредактировал файл ".htaccess" в каталоге drupal c:/wamp/www/fooproject/, чтобы переписать базовый каталог следующим образом:

# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
 RewriteBase /fooproject

Я отредактировал файл httpd.conf в WAMP Apache -> http.conf, добавив в него каталог виртуальных хостов:

<VirtualHost *:80>
    ServerAdmin site1@dummy-host.example.com
    DocumentRoot "c:/wamp/www/fooproject/"
    ServerName site1.example.com
    ServerAlias localhost.site1.example.com
    ErrorLog "c:/wamp/logs/site1-error.log"
    CustomLog "c:/wamp/logs/site1-access.log" common


</VirtualHost>

<VirtualHost *:80>
    ServerAdmin site2@dummy-host.example.com
    DocumentRoot "c:/wamp/www/fooproject/"
    ServerName site2.example.com
    ServerAlias localhost.site2.example.com
    ErrorLog "c:/wamp/logs/site2-error.log"
    CustomLog "c:/wamp/logs/site2-access.log" common


</VirtualHost>

<VirtualHost *:80>
    ServerAdmin site1@dummy-host.example.com
    DocumentRoot "c:/wamp/www/fooproject/"
    ServerName site1.example.com
    ServerAlias localhost.site1.example.com
    ErrorLog "c:/wamp/logs/site1-error.log"
    CustomLog "c:/wamp/logs/site1-access.log" common


</VirtualHost>

<VirtualHost *:80>
    ServerAdmin site3@dummy-host.example.com
    DocumentRoot "c:/wamp/www/fooproject/"
    ServerName site3.example.com
    ServerAlias localhost.site3.example.com
    ErrorLog "c:/wamp/logs/site3-error.log"
    CustomLog "c:/wamp/logs/site3-access.log" common


</VirtualHost>

Я скопировал папку "default" в каталог сайтов и создал 3 новые папки с именами "site1.example.com", "site2.example.com" и "site3.example.com".

Я могу нормально установить сайт и перейти на localhost/site1.example.com/? Q =admin/config/search/clean-urls и включить чистые URL

Но в результате я перехожу на страницу "Внутренняя ошибка сервера", если я нажимаю на ссылку за пределами домашней страницы:(

Журнал ошибок говорит следующее:

[Thu Feb 13 17:56:14.108803 2014] [core:error] [pid 5268:tid 1636] [client 127.0.0.1:57100] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://localhost/site1.example.com/
[Thu Feb 13 17:56:14.109805 2014] [core:debug] [pid 5268:tid 1636] core.c(3518): [client 127.0.0.1:57100] AH00122: redirected from r->uri = /site1.example.com/admin/config, referer: http://localhost/site1.example.com/

Я уверен, что это простое исправление, но я просто не вижу этого.. слишком много движущихся частей. Любая помощь будет оценена:D

1 ответ

Решение

Хорошо, я понял это...

1) Мне нужно было удалить псевдонимы, которые я создал с помощью WAMP, потому что они были хороши только в том случае, если у меня было несколько УСТАНОВОК drupal (например, при тестировании разных версий)... не имеют ничего общего с несколькими сайтами!

2) Вы настраиваете Vhosts для каждого сайта, используя фактическое имя сайта... например

  • ServerName = site1.example.com

3) Вы редактируете файл sites.php, чтобы связать то, что вы поместили в свой веб-браузер (localhost.site1.mwdworks.com => site1.mwdworks.com)

4) Вы добавляете в файл hosts вашего компьютера имя сайта, которое вы поместите в веб-браузер (для локальных целей разработки - это может быть любое имя, если оно совпадает с тем, которое вы указали в sites.php...), например:
127.0.0.1 localhost.site1.example.com

и альт... все это хорошо работает... просто следует этим инструкциям и у вас все хорошо)

Другие вопросы по тегам