htaccess, универсальный на кучу сайтов .. как бы ...

12
S
На сайте с 30.09.2016
Offline
469
#11
miketomlin:
jkm, он запросы к алиасам пытается разруливать

Там так написано, что вообще непонятно, где сайт, где папка, где корень, где хтакцесс...

Alfinnov:

у меня куча сайтов лежит в папка:
у каждого внутри лежит htaccess
и меняеся только {сайт1} на {сайт2} итд ...
... доменное имя в каждой папке
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
M
На сайте с 04.12.2013
Offline
223
#12

Sitealert, это да. Скорее всего он уже как-то разруливает запросы к алиасам, например при помощи .htaccess в корне, и хочет его усовершенствовать, избавившись от кучи шаблонных /_site/{сайт1}/.htaccess.

Вот с нашего паркинга на апаче:


RewriteEngine On
RewriteCond /var/www/parking/_add/%{HTTP_HOST}%{REQUEST_URI} -f
RewriteRule ^.* /var/www/parking/_add/%{HTTP_HOST}%{REQUEST_URI} [L]
RewriteRule ^.* /index.php

Последнее правило можно подкрутить, чтобы передавать запросы не в единый фронт, а в частные.

Но это, естественно, не контекст .htaccess :)

---------- Добавлено 05.09.2019 в 19:42 ----------

P.S. Префикс /var/www/parking там вариативен (по крайней мере в правилах).

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
fliger
На сайте с 17.09.2015
Offline
114
#13

Как на самом деле работает mod_rewrite:

https://habr.com/ru/company/sprinthost/blog/129560/

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

A
На сайте с 07.01.2010
Offline
123
#14

Так, я понял, надо еще объяснить задачу ...

всё очень просто.

Как лежат сайты относительно web корня, то есть (url запросов):

http://192.168.0.1/_site/{сайт1}/

http://192.168.0.1/_site/{сайт2}/

http://192.168.0.1/_site/{сайт3}/

http://192.168.0.1/ - тут тоже лежит свой сайт заглушка, с index.php и htaccess

доступ к сайту1, идет по запросу: http://192.168.0.1/_site/{сайт1}/

доступ к сайту2, идет по запросу: http://192.168.0.1/_site/{сайт2}/

сейчас у каждого из сайт1 и сайт2, я создаю htaccess в котором прописываю:

RewriteRule ^(.*)/sitemap.xml$ http://%{HTTP_HOST}/www/girl4relax.ru/sitemap.xml [R=301,L]

RewriteCond %{ENV:HTTPS} on

RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule ^sitemap.xml$ /_site/{сайтN}/sitemap.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !(jpg|gif|png|jpe|jpeg)$

RewriteRule . /_site/{сайтN}/index.php [L]

где {сайтN} - это сайт1, сайт2 итд - доменные имена сайтов.

тут и sitemap.xml надо получать, и на index.php запрос завернуть

вот и думается мне, что есть наверное какое-то универсальное решение htaccess, что-б к {сайтN} - не привязываться и все работало

Создаем и продвигаем сайты различных тематик
J
На сайте с 20.02.2014
Offline
120
jkm
#15
Alfinnov:

RewriteRule ^sitemap.xml$ /_site/{сайтN}/sitemap.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(jpg|gif|png|jpe|jpeg)$
RewriteRule . /_site/{сайтN}/index.php [L]

/ru/forum/comment/16179414


RewriteRule ^sitemap.xml$ sitemap.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(jpg|gif|png|jpe|jpeg)$
RewriteRule . index.php [L]
A
На сайте с 07.01.2010
Offline
123
#16

а это разве не в каждом каталоге внутри будет отрабатывать это правило и искать в нем index.php ?

тоесть, если это положить в /_site/сайт1/

то оно вроде б отпаботает и в /_site/сайт1/wp-content/

и сделает редирект при запросе: 192.168.0.1:/_site/сайт1/wp-content/ на /_site/сайт1/wp-content/index.php если он есть

J
На сайте с 20.02.2014
Offline
120
jkm
#17

Поисками индексного файла в каждом каталоге занимается mod_dir и настраивается в DirectoryIndex

А в тех правилах mod_rewrite условие RewriteCond %{REQUEST_FILENAME} !-d проверяет что не запрошен существующий каталог.

Так что если /_site/сайт1/wp-content/ существующий каталог и в нём есть index.php, то mod_dir сделает своё дело и вызовет /_site/сайт1/wp-content/index.php.

M
На сайте с 04.12.2013
Offline
223
#18
Alfinnov:
всё очень просто.

Даже так. Вижу, вы любите пострадать фигней. Рассовывание сайтов по папкам одного сайта даже для размещения всяких демок – сомнительная практика.

---------- Добавлено 06.09.2019 в 14:15 ----------

P.S. По сабжу уже все ответили. Вы решали проблему, которую сами же для себя и организовали ;)

A
На сайте с 07.01.2010
Offline
123
#19
miketomlin:
Даже так. Вижу, вы любите пострадать фигней. Рассовывание сайтов по папкам одного сайта даже для размещения всяких демок – сомнительная практика.

---------- Добавлено 06.09.2019 в 14:15 ----------

P.S. По сабжу уже все ответили. Вы решали проблему, которую сами же для себя и организовали ;)

мде ... какой вы умный ... ... про pbn слышали? :]

M
На сайте с 04.12.2013
Offline
223
#20

Alfinnov, не только слышал ;) Но какое отношение это имеет к вашим 192.168.0.1:/_site/сайт1/wp-content/ и т.п.? :)

---------- Добавлено 06.09.2019 в 20:39 ----------

Или вы просто не можете настроить то, о чем я писал в моем первом посте? Про именованные хосты на одном сервере слышали? :D

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий