Роман

Роман

Был в сети 11 июля 2025, 11:54
Заказы принимаю
В общем откатился до 2.5.6! Обновил все компоненты что были, сверху еще раз накатил 2.5.6, все гуд, все работает, но до 2.5.7 что то страшно обновляться — проект большой и тяжелый!

Через недельку соберусь с духом, попробую еще раз. Предварительно все забэкапив!
Да не, вот это указал правило для обычного сайта
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
что вот это правило нужно адаптировать под свои нужды на два сайта

Это не работает к сожалению
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]
Еще раз более подробно, смотри:

Вот есть решение:
bezumkin.ru/sections/tips_and_tricks/2439

Сделал так же, теперь у меня в админке два сайта! К примеру:
site.ru
mypage.ru
Получается, что физически один движок, один и те же папки на два сайта!

Далее проблема:
если набрать:
site.ru/index.php
то попадаем на:
site.ru
если набрать:
mypage.ru/index.php
то попадаем на 
site.ru
Задача, в .htaccess написать условие, что бы при наборе
site.ru/index.php
или
mypage.ru/index.php
перенаправляло на самого себя, т.е. на :
site.ru
и соответственно
mypage.ru
Максим что то я не уловил логики что ты пытаешься сделать!

У меня в одной админке два сайта, другими словами два домена = два сайта!

Смотри, если в MODx не указать правило обработки
## Перенаправляем с index.php на /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://site.ru/ [R=301,L]
то при наборе
site.ru/index.php будет открываться главная страница, идентичная просто site.ru

Мне нужно развести site.ru/index.php и mypage.ru/index.php, что бы при наборе любого из указанных URL тебе перенаправляло в свою директорию, а именно site.ru и mypage.ru

Что ты выше пытаешься сделать, я не совсем понял!
Смотри в одной админке два сайта:

Ты набираешь site.ru/index.php и попадаешь на site.ru
На втором сайте набираешь mypage.ru/index.php и попадаешь на site.ru

Нужно при наборе index.php перенаправляло в свою директорию

Касательно того что я попробовал изначально, я просто попытался по этому примеру:
## Перевод с www на без www
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
адаптировать это правило для себя
## Перенаправляем с index.php на /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://site.ru/ [R=301,L]
Приветствую!

Андрей, а обычный TV ты выводил? У меня почему то не хочет, так же не работает выше указанный код на картинку?

1) ajax.php
<?php 
// Если запрос не AJAX или не передано действие, выходим
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}

$action = $_REQUEST['action'];

define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';

$modx->getService('error','error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
$modx->error->message = null;

$output = '';
switch ($action) {
    case 'getContent':
        $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
        if (empty($id)) {
            exit();
        };
        $object = $modx->getObject('modResource',$id);
		$output = array();
		$output['pagetitle'] = $object->get('pagetitle');
        $output['content'] = $object->get('content');
		$output['img'] = $object->getTVValue('tplImage');
		$output['h1'] = $object->getTVValue('tplH1');
		$output = json_encode($output);
        $maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
        $modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), $maxIterations);
        $modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), $maxIterations);
}

@session_write_close();
exit($output);
2) jQuery
3) JS
$(document).on('click','a.quick-preview',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	$("#content").load("/assets/ajax.php",{action:"getContent",id:id}, function(response){
		if (response) {
			var data = eval("(" + response + ")");
				$('#title').html(data.pagetitle);
				$('#h1').html(data.h1);
				$('#content').html(data.content);
			var img = data.img;
				$('#modal-img').prepend('<img src="'+img+'" class="modal-img"/>')
				$(".modal-img").css({
					'width' : '100%',
				});
		}
	});
});
4) Разметка
<a href="#modal-page" data-id="[[+id]]" class="favorites-button quick-preview">Предпросмотр</a>

<div id="modal-page">
            <div class="col-md-6">
                <div id="modal-img"></div>
            </div>
            <div class="col-md-6">
                <h1 id="title"></h1>
                <h2 id="h1"></h2>
                <div id="content"></div>
            </div>
        </div>
Простое TV вообще не выводит, а с картинкой «undefined»
Если вот так, то он открывает модальное окно, потом срабатывает алерт
$(document).on('click','a.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	$("#content").load("/assets/ajax.php",{action:"getContent",id:id}, function(response){
		if (response) {
			var data = eval("(" + response + ")");
			$('#content').html(data.content);
			$('#modal-title').html(data.pagetitle);
		}
	});
	$('#modal-page').hide(function(){
		alert ('test'); 
		$('#content').empty();
		$('#modal-title').empty();
	});
});
Вооот! С этого и нужно было наверное капать )))

Моделька у меня на FancyBox

$(document).ready(function() {
	$(".read-more").fancybox({
		maxWidth	: 800,
		maxHeight	: 600,
		fitToView	: false,
		width		: '70%',
		height		: '70%',
		autoSize	: false,
		closeClick	: false,
		openEffect	: 'none',
		closeEffect	: 'none'
	});
});
или я что то опять не понял
$(document).on('click','a.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	$("#content").load("/assets/ajax.php",{action:"getContent",id:id}, function(response){
		if (response) {
			var data = eval("(" + response + ")");
			$('#content').html(data.content);
			$('#modal-title').html(data.pagetitle);
		}
	});
	// alert ('test'); - тут тестил
	$('modal-page').hide(function(){
		$('#content').empty();
		$('#modal-title').empty();
	});
});