Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.6650
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.01.2011, 07:35   #1
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
По умолчанию Подскажите по WP и линкам в нём, плиз_

Есть N WP-блогов и там полно всяких ссыл (в постах). Вопросег - как бы сделать так, чтобы кликнув на них (на любой из линков, т.е. все) посетитель шёл не туда, куда написанно, а туда, куда мне надо.
Редактировать ручками 500++ постов - устану нах, может есть какое-то .htaccess решение?
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
StHost вне форума  
Старый 20.01.2011, 08:33   #2
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

вот какие мысли имею:

во-первых, можно редактировать не ручками, а регекспом, причем можно как по дампу им пройтись, так и прям из mysql по таблице wp_posts или как-так ее - это лучший вариант по производительности.

во-вторых, можно в каждый из вордпрессов добавить код либо php, либо js (возможно это будет уже готовый плагин), который будет также регекспами изменять урлы на твои, но уже "на лету" на конкретной странице.

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

ну наверняка еще можно написать модуль к апачу/nginx (а может уже есть?)

если говорить за 3-ий вариант, то это будет выглядить так:

в .htaccess меняем вывод через index.php на myredirect.php:
Код:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /myredirect.php [L]
</IfModule>

# END WordPress
myredirect.php кидаем в корень WP:
PHP код:
<?php
  ob_start
();
  include 
'index.php';
  
$out ob_get_contents();
  
ob_end_clean();
  echo 
preg_replace('|<a(.*)href=["\'](.*)["\']|Ui''<a\1href="http://google.com"'$out);
?>
ну как-то так, у меня с включенными ЧПУ сработало. но лучше все же первый способ с регекспом по таблице бд
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 20.01.2011, 09:20   #3
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
ТС -->
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
автор темы ТС По умолчанию

Странно, у меня фик вышло с .htaccess + php
сам Вордпресс не заинклюдился - хм. Попки владельцев блогов пока ещё целы ...
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost

Последний раз редактировалось StHost; 20.01.2011 в 09:29.
StHost вне форума  
Старый 20.01.2011, 09:36   #4
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

Цитата:
Сообщение от StHost Посмотреть сообщение
сам Вордпресс не заинклюдился
а что пишет?
попробуй чисто файл заинклюдить:
<?php
include 'index.php';
?>
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 20.01.2011, 10:56   #5
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
ТС -->
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
автор темы ТС По умолчанию

сейчас сделаю... моменто ...
Так, загрузил всю ботву блога, но вместо того, чтобы показать посты (как обычно при http://www.myblog.com/index.php) он показал :

Not Found
Sorry, but you are looking for something that isn't here.
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
StHost вне форума  
Старый 20.01.2011, 11:09   #6
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

приводим .htaccess в изначальное положение.
в корне блога создаем файл myredirect.php:
<?php
include 'index.php';
?>

открываем http://www.myblog.com/myredirect.php - что пишет? вот то, что ты написал? если да, то показывай .htaccess
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 20.01.2011, 11:25   #7
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
ТС -->
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
автор темы ТС По умолчанию

я php файл для удобства назвал lndex.php через латинскую "л"
Цитата:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^lndex\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
RewriteRule . /lndex.php [L]
</IfModule>
# END WordPress
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
StHost вне форума  
Старый 20.01.2011, 11:40   #8
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
ТС -->
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
автор темы ТС По умолчанию

chesser, Спасибо я думаю что хитрая задачка и не буду время отнимать - сам поковыряю ... Стало даже интерестно, как бы такой "клоакинг" срулить
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
StHost вне форума  
Старый 20.01.2011, 11:41   #9
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

вот тут:
RewriteRule . /lndex.php [L]
если заменить на:
RewriteRule . /myredirect.php [L]

в котором только include 'index.php';
и открыть любую старую страничку блога, то должно выводить блог как ни в чем не бывало
Если да, то дальше дополняешь код нового файла ob функциями, кстати, на их работу может повлиять включенное gzip сжатие, помню была проблемка какая-то с этим

ps ну или ася-скайп - велкоме
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 20.01.2011, 12:03   #10
StHost
Senior Member
 
Аватар для StHost
 
Регистрация: 14.08.2008
Адрес: станица Банькок, Сиям
Сообщений: 1,782
Бабло: $200550
ТС -->
Отправить сообщение для StHost с помощью ICQ Отправить сообщение для StHost с помощью Skype™
автор темы ТС По умолчанию

я в myredirect.php от злости написал
Цитата:
header('Location: http://www.banana.com/');
так вот если прямо указать имя файла - то ок, редиректит, а через .htaccess фигушке. У меня видно пуленепробиваемый Апач стоит ... Буду йебаться, чтож делать
__________________
silence is gold. buy gold in silence. buy silent gold. enjoy golden silence. бесшумные сервера в звенящей тишине секретного датацентра SilentHost
StHost вне форума  
Закрытая тема



Опции темы
Опции просмотра