В связи с ростом затрат в sape на продвижение своих и клиентских проектов, при общем тренде падения дохода, пришлось озадачиться наращиванием числа пузатых дропов для маломальского наращивания операционной суммы. Восстанавливал я их, естественно, из вебархива в помощью сервиса R-TOOLS и Dreamweaver.
Тут надо заметить, что весь этот процесс усложняется тем, что в последний ап PR гуглеводы что то там разломали и пыр перестал восстанавливаться и растекаться в междуапье, т.ч приходится полностью восстанавливать структуру сайта. И зачастую она сильно оставляет желать лучшего, т.ч приходилось осваивать или терзать форумы на предмет работы апачевского mod_rewrite и правильный строчек в файле .htaccess
Поскольку синтаксис mod_rewrite одно из многих скриптований, которые вызывают у меня адскую попаболь, то каждый отдельный случай ввергал меня в пучину безумия, т.ч. по итогам терзаний мне запилили PHP’шный скриптик, который нормально интерпретирует обычные HTML файлики в URL’ы с querry запросами.
Но у меня осталось несколько рабочих примеров сантаксиса mod_rewrite для файла контроля доступа .htaccess которые, возможно, смогут избавить кого нить от мигрени.
1. Сайт выводится разделами, то есть файл about.html соответствует урлу site.ru/about , что можно реализовать кучей соответствующих подпапок с индексными файлами, а можно переписывать урл, отбрасывая расширение файла html. В моем случае это еще и осложнялось тем, что урлы были невообразимо длинными
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Za-z0-9–_]{3,100}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ http://site.ru/$1 [R=301,L]
2. Необходимо сменять html засширения на php при выводе файла в урл
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ $1.php [R=301,L]
3. Урл вида nz.example.html-en_type=1.htm надо было переписать в querry запрос вида nz.example.html?en_type=1
RewriteEngine On
RewriteRule nz\.example\.html-en_type=1\.htm nz.example.html?en_type=1 [R=301,L]
RewriteCond %{QUERY_STRING} ^en_type=1$
RewriteRule nz\.example\.html nz.example.html-en_type=1.htm [L]
4. При восстановлении DLE сайта надо было имевшиеся html файлы представить как запросы к индексному файлу index.php, которого к тому же физически не было, в виде index.php?newsid=1001
Переименовав их в нумерацию соответствующую значению newsid перезапись осуществлялась путем
RewriteEngine on
RewriteRule ^([0-9]+)\.html$ index.php?newsid=$1 [L,QSA]