WAMP Использование PostgreSQL + Drupal 7 + Multisite + CleanURLs - не работает
Как следует из названия, я пытаюсь запустить несколько локальных сайтов разработки на WAMP с использованием Postgresql... Я пробовал так много комбинаций, и ни одна из них не работает.
У меня есть 3 сайта, которые соответствуют сайтам живого производства, поэтому чистые URL-адреса являются ключевыми...
- site1.example.com
- site2.example.com
- 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
и альт... все это хорошо работает... просто следует этим инструкциям и у вас все хорошо)