Быдлокодер (29.04.2011/20:00)
попробуй ссылки эти писать так: <a href="http://site.ru/index.php?mod=blabla&act=blabla">
/forum/viewtopic не добавится по идеи..
Извинюсь, что влез. Я конечно не кодер, но если для ''двига'' то лучше будет $_SERVER['HTTP_HOST'] использовать вместо site.ru или какую-нибудь другую ''хрень''
Быдлокодер (29.04.2011/20:20)
/index.php?mod=blabla&act=blabla в данном случае)
хотя ИМХО мне больше симпотизирует полный адрес..
ну да так, / так короче все таки
а переписать все ссылки автор кстати мог бы на лету;) все той же регуляркой подставляя в начале чпу-урла / или адрес сайта
Быдлокодер, Просто в JohnCMS встречается адрес сайта (johncms.com), чтоб всё исправить - приходится весь архив пересмотреть и сделать исправления.
Я не продвинутый пользователь, вот и исправлять приходится ''руками''
так, асилил наконец. Вдруг кому коснетца, оно есть.
Собствено функцыя обработки ссылки:
function rewrite_url($var) {
global $homeurl;
$var = preg_replace('#\"index.php\?mod=(.+?)&act=(.+?)&id=(.+?)&page=(.+?)\"#si', '"'.$homeurl.'/\1/\2/\3/\4.html"', $var);
$var = preg_replace('#\"index.php\?mod=(.+?)&act=(.+?)&id=(.+?)\"#si', '"'.$homeurl.'/\1/\2/\3.html"', $var);
$var = preg_replace('#\"index.php\?mod=(.+?)&act=(.+?)\"#si', '"'.$homeurl.'/\1/\2.html"', $var);
$var = preg_replace('#\"index.php\?mod=(.+?)\"#si', '"'.$homeurl.'/\1.html"', $var);
return $var;
}
($homeurl задан, адрес сайта) .
Строчки в хтакцесс:
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)\.html$ index.php?mod=$1 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2&id=$3 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2&id=$3&page=$4 [QSA,L]
Ну и в нужном месте вызываем функцию:
echo $rewrite_on ? rewrite_url($content) : $content;
($rewrite_on указавает, обрабатывать сцылки иле нет)
мугого, с такими регулярками ололо пыщ пыщ получаетца, функцыя весь текст режет, походу нада резать как то так
$var = preg_replace('#\"index.php\?mod=(\w+)&act=(\w+)&id=(\w+)&page=(\w+)\"#si', '"'.$homeurl.'/\1/\2/\3/\4.html"', $var);
john77 (30.04.2011/23:24)
мугого, с такими регулярками ололо пыщ пыщ получаетца, функцыя весь текст режет, походу нада резать как то так[php]$var = preg_replace('#\"index.php\?mod=(\w+)&act=(\w+)&id=(\w+)&page=(\w+
ты вместо " кавычек " не пробовал? У тебя ссылки как то странно получается обрабатываются " а дальше & и вообще & каждый символ и буква обработаются
Krite (30.04.2011/23:44)
ты вместо " кавычек " не пробовал? У тебя ссылки как то странно получается обрабатываются " а дальше & и вообще & каждый символ и буква обработаются
не, ща нормальна все, я кой какие маны покурил, вот ето (\w+) как раз режет как нада, ето буквы цыфры и ещо кой какие символы типа дефиса, один и более. А первый раз оно резало гг через всю страницу от кавычек до кавычек. А & не обробляетца, оно ж задано как пределы
Кто хорошо знаком с регулярками, подскажите как вырезать ссылки вида
http://f04.spaces.ru/f/5218022 ... u.mp3 , и заменить их на md5('http://f04.spaces.ru/f/521802213632/1315385009/10167368/0/21d556b40174bee8208c545cf4d20e72/Fly_Project_-_Mandala-spaces_ru.mp3'); ?
Нужно чтоб регулярка вырезала имено такие ссылки
Еще все подобные ссылки нужно собрать в массив с помощью preg_match_all(); но я не могу правильно составить шаблон