Джако Крузо
04.04.2017Дорген

Программа для замены URL-ов в ссылках

Скачать - http://jako.tech/download/UrlReplace1.1.zip

Положите её в папку с доргеном.
Настройки:
Папка с файлами - это папка с дором.
Какие файлы обрабатывать - указываете в каких файлах производить замену урлов. Например:
*html - во всех html-файлах
sitemap* - в файлах начинающихся на sitemap.
uslugi.php - только в файле uslugi.php.

Сайт - имя сайта (домен).

Шаблоны замены - правила замены урлов. Одно правило - одна строка.
Правило делится на 3 части, разделённые запятыми. Пример:
/, http://www.site.ru/%PAGE%, http://www.site.ru/?php=[PAGE]
Первая часть - на какие страницы распространяется правило (эта строка должна быть найдена в урле). Вторая часть - маска. Третья часть - шаблон. Взятая в проценты часть из маски переносится в макрос в шаблоне.
Допустим, надо, чтобы урлы страниц категорий менялись c http://www.site.ru/category-5.html на http://www.site.ru/?c=5. А для страниц статей менять так: http://www.site.ru/article-563349.html на http://www.site.ru/?a=563349.
Тогда пишем два правила:
/category, http://www.site.ru/category-%ID%.html, http://www.site.ru/?c=[ID]
/article, http://www.site.ru/article-%ID%.html, http://www.site.ru/?a=[ID]


Если первую часть написать просто / , то это правило для всех урлов.

Кодировка - пишите, в какой кодировке созданы страницы сайта.


Как запускать автоматом из доргена:
Аргументы командной строки: папка; какие файлы; сайт; кодировка; правила .

В events.txt в событие on_Project_Complete пишем:

pfile=app('path')+'\genoptions\'+getprojectinfo(projnum,'profile')+'.txt';
prof=readfile(pfile);
j=strpos(prof,'#140{',1);
j2=strpos(prof,'}',j);
enc=substr(prof,j+5,j2-(j+5)); // это получаем кодировку сайта

site=getprojectinfo(projnum,'site'); // это имя сайта

m="sitemap*, rss*"; // какие файлы обрабатывать
t="/, http://"+site+"/%PAGE%.html, http://"+site+"/?php=[PAGE]"; // правило

p=app('path')+'\UrlReplace.exe';
arg=getprojectinfo(projnum,'save_folder')+"; "+m+"; "+site+"; "+enc+"; "+t;

StartProcess(p,arg,0,1);


Этот пример поменяет урлы в файлах карты сайта и rss.

Если в урл надо часть кодировать в Base64 или HEX то сделать это можно соответствующими макросами: /, http://"+site+"/%PAGE%.html, http://"+site+"/?php=[B64][PAGE][/B64]. Если в HEX, то: /, http://"+site+"/%PAGE%.html, http://"+site+"/?php=[HEX][PAGE][/HEX] .