miketomlin

Рейтинг
235
Регистрация
04.12.2013

В качестве шаблонизатора можно использовать G-Drive. Код для индексной помогу написать. Там нефиг делать:

- контроллер:

<?php

if
(!($result=mysqli_query($link,"SELECT * FROM `{$table()}` WHERE `id`!=''")))
{
    error(503);
}
- шаблон:
<?php require PATH.'include/getrow.php'; ?>
<ol>
<?php while ($row=getrow()): ?>
    <li><a href="/<?= $row['id'] ?>"><?= $row['Title'] ?></a></li>
<?php endwhile; ?>
</ol>

Столбец Page Name нужно будет переименовать в id.

Все равно можно загрузить в подготовленную таблицу мускула, чтобы выводить каким-нибудь шаблонизатором, а потом выгрузить, например, wget'ом.

P.S. Можно сделать индексную / и сами страницы /page.html, чтобы выгружать с одного уровня (параметр -np, если не ошибаюсь), либо просто по типу/расширению .html, чтобы даже индексную не выгружать и не дергать всякие /register.php?value=

SeVlad #:
Это я про то как обычно уже сделано, а не как "надо было думать раньше и создавать для главного домена каталог abrakadabra".

Ты не понял. Вариант для школоты – это еще одно решение, чтобы делать мин. телодвижений.

/domain.com – корень основного домена

/domain.com/abrakadabra/domain1.com – «корень» доп. домена (для рерайта в него или для прямой настройки через DocumentRoot) или одна из блокируемых папок. Если нужен «корень», ничего не блокируем, а просто скрываем abrakadabra за счет максимально сложного ее названия. Если нужно заблокировать доступ, блокируем через блокировку abrakadabra без усложнения ее названия.

SeVlad #:
Но перечитав старпост у меня возник когнитивный диссонанс - какой смысл в поддменах если запрещать к ним доступ? Кто-то может пояснить?

Может, содержимое этих папок должно пыхом читаться. Например, у нас на паркинге можно делать рерайт в _add/domain средствами сервера или спец. модулем самого движка. А есть еще одна папка вроде _add. В нее делается рерайт ядром движка с использованием БД (может не быть точного соответствия между адресами и расположением файлов в domain; соответствие строится на основе БД).

Вообще фиг знает. Может, ТС так пытается заблокировать доступ к папкам доп. доменов при обращении через основной домен 😀

SeVlad #:
в public/abrakadabra/ - находится сайт domain.com

Не, я там дописал, что корень – public (используйте любое/имеющееся имя).

abrakadabra – папка со сложным названием, которую трудно обнаружить, а уже в ней папки доп. доменов. Типа бутылочное горлышко: через одну папку блокируем доступ ко многим.

P.S. Для блокировки не обязательно использовать сложное название папки.

SeVlad #:
Я подозреваю что у ТСа панель (ISP напр) и уже рабочий сайт на домен.

Так вариант с одной доп. папкой в «общей папке» как раз для таких ленивых. Сам по себе этот вариант один из самых идиотских. Чаще всего в CPanel'и используется.

P.S. Там еще нужно смотреть, как используются эти скрытые папки. Если в них выполняется рерайт, то это проблема (в общей папке что ли размещать .htaccess?).

Специально для школоты:

public/abrakadabra/domain1.com

public/abrakadabra/domain2.com

и т.д. (public – это корень).

RewriteEngine on
RewriteRule ^abrakadabra/ - [NC,F]

Наверно, по аналогии можно и Redirect 403 использовать.

53ted0rdyyxt #:
Если я уберу за пределы корня сайта, то папки автоподдоменов будут селиться в общей папке, где есть ещё папки других сайтов - визуально получится мусор.

Ну, понятно: папки сайтов == корневые папки этих сайтов. Школота 😀

Можно в «общей папке» разместить только одну доп. папку с похожим на имя корня проекта именем, и внутри нее размещать папки поддоменов. Но лучше сделать корень проекта на один уровень глубже. Или даже на два, например у нас на паркинге используется такая структура:

parking/_add/domain1.com – корневой каталог первого припаркованного домена;

parking/_add/domain2.com – корневой каталог второго припаркованного домена;

parking/_add/localhost – каталог, указанный в качестве корня проекта.

В втором зачем опять написали nomenclature после FROM?

Как выше написали, должно быть одинаково. Перечисление таблиц после FROM через запятую – это тот же INNER/CROSS JOIN.

Если охота в RedirectMatch по конкретным именам делать, в регулярке можно писать так /(dir1|dir2 и т.д.)/, но тогда все равно придется лезть в .htaccess, чтобы добавить новые папки.
Всего: 2534