Smirnof

Рейтинг
72
Регистрация
13.11.2012
Интересы
efcb2e

jkm заработало, спасибо!

Проверьте, пожалуйста, .htaccess целиком, ничего в нем не противоречит друг-другу?

DirectoryIndex index.php
AddDefaultCharset UTF-8
<ifModule mod_rewrite.c>
RewriteEngine On
# 301 редирект с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^sitemap\d*\.xml$ base/%1/$0 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)?$ index.php?a=$1 [QSA,NC,L]

## Error 404 ##
ErrorDocument 404 /error/
</ifModule>

RewriteEngine on

RewriteRule ^sitemap\.xml$ /var/www/ivan/data/www/сам_скрипт/base/{HTTP_HOST}/sitemap.xml [L]

Не работает :(

WordPress MU меня совершенно не интересует у меня собственный php скрипт, с путями уже разобрался. Вопрос сейчас другой.

Единственное если открывать сайт по www то он не открывается, не понял я этого:

На точке входе к скрипту проверять SERVER_NAME или HTTP_HOST и в зависимости от них инклудить БД

И по поводу папки для самого скрипта (/var/www/.../data/www/sites), объясните, пожалуйста как создать ее верно?
Как я ее создал написано выше, создавал ее как www домен, потом правил конфиг, сейчас работает но я считаю что это не верное решение.

У меня все заработало.

Единственное если открывать сайт по www то он не открывается, не понял я этого:

На точке входе к скрипту проверять SERVER_NAME или HTTP_HOST и в зависимости от них инклудить БД

И по поводу папки для самого скрипта (/var/www/.../data/www/sites), объясните, пожалуйста как создать ее верно?

Как я ее создал написано выше, создавал ее как www домен, потом правил конфиг, сейчас работает но я считаю что это не верное решение.

Спасибо!

Домен направить на папку в data директории уже получилось, только похоже файл php читается как-то по другому, виден исходный код файла

---------- Добавлено 09.09.2016 в 01:16 ----------

rereg, большое спасибо!

Этот вариант более понятен для меня.

Пошел с php разбираться...

---------- Добавлено 09.09.2016 в 02:12 ----------

Осталось победить php

здесь /var/www/...../data/папка

и здесь /var/www/...../data/www/папка

php читает как html или txt не понятно, виден полностью php код всего файла, естественно он не исполняется.

Хотя остальные сайты в /var/www/...../data/www/сайты работают и php в них пашет.

---------- Добавлено 09.09.2016 в 02:31 ----------

Прописал в конфиг

#user 'ivan' virtual host 'sites' configuration file

<VirtualHost 127.0.0.1:8080>

ServerName sites

AddDefaultCharset UTF-8

DirectoryIndex index.php

DocumentRoot /var/www/.../data/www/sites

ServerAdmin sites@ya.ru

SuexecUserGroupsites

ServerAlias www.sites

<FilesMatch "\.ph(p[3-5]?|tml)$">

SetHandler application/x-httpd-php

</FilesMatch>

<FilesMatch "\.phps$">

SetHandler application/x-httpd-php-source

</FilesMatch>

php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f sites@ya.ru"

php_admin_value upload_tmp_dir "/var/www/.../data/mod-tmp"

php_admin_value session.save_path "/var/www/.../data/mod-tmp"

php_admin_value open_basedir "/var/www/.../data:."

CustomLog /var/www/httpd-logs/sites.access.log combined

ErrorLog /var/www/httpd-logs/sites.error.log

</VirtualHost>

<Directory /var/www/ivan/data/www/sites>

php_admin_flag engine on

Options -ExecCGI

</Directory>

php заработало.

Но я почти на 100% уверен, что это не правильно, как минимум из-за того, что isp не позволяет создавать такие папки, без расширения.

А я создал именно через ISP сначала домен sites.ru а потом уже исправил его конфиг, код выше, удалил .ru

То есть получается папка со скриптом и по папке для каждого домена с базой данных, верно?

/var/www/...../data/www/any_dir/сайт1/db.php

/var/www/...../data/www/any_dir/сайт2/db.php

/var/www/...../data/www/any_dir/сайт3/db.php

Учитывайте, что HTTP_HOST может быть с www и без

Лучше использовать SERVER_NAME, верно?

rereg, я правильно понял, что в самих папках с сайтами будет только база данных?

Пошел тестировать...

---------- Добавлено 09.09.2016 в 00:49 ----------

Прочел еще раз, понял, что не верно я все понял.

Папку нужно создать с именем %host% или именем домена?

/var/www/DocumentRoot/data/%host%/

livetv:
Лучше использовать $_SERVER['DOCUMENT_ROOT'] и от него плясать.

Это как я понял корень сайта папка /var/www/..../data/www, а как внедрить это?

Т.е. этому $_SERVER['DOCUMENT_ROOT'] нужно как-то передать имя папки /var/www/..../data/www/сайт в момент обращения к файлу шаблона /data/шаблон include('../../шаблон');

А как?

Видимо получится что-то подобное этому

Сохраните путь к изначальному php-файлу еще до самого первого include в переменную из __DIR__ или __FILE__. Потом используйте эту переменную во включенном скрипте

но опять, не могу понять, каким образом это делать, теоретически понимаю дальше туплю...

С другой проблемой столкнулся.

Файлы подключать научился, выношу шаблон в /data/шаблон

Сайт цепляет шаблон из data папки, далее шаблон не может получить данные из базы php, что расположена в корне самого сайта :(

данные о title и т.д.

Понять не могу как победить это.

include('../../шаблон');

Тоже самое и с панелью управления, панель коннектится а сохранять не понятно куда, должно сохранить на сайте - файл базы данных.

Т.е. с разных доменов захожу в панель управления, вношу правки и сохраняю, изменения должны сохраниться в том сайте на котором я находился а не на для всех сразу.

Короче запутался, не знаю как объяснить, пошел формулировать вопрос...

kom09 скорее я про это и думал, спасибо!

Всем спасибо, пошел тестировать.

Тему не закрываю, пока все актуально...

git еще погуглю

Всего: 235