ЧПУ - *.html

Статус
В этой теме нельзя размещать новые ответы.

Ortrix

Постоялец
Регистрация
22 Сен 2007
Сообщения
78
Реакции
1
Как реализовать ЧПУ под ABO4.0 - чтобы все типа:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся - новостной тоже двиг
Имело вид:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

и т.д. и т.п.


Буду очень благодарен. Приложите пожалуйста аттач с полной реализацией.
 
А ты изменеия в код вносил, как минимум в двух местах ...

В common.php, функцию замены ...

А в classCore.php, в функцию get_block_content(:(

PHP:
            if ($CONFIG['rewrite_mod'])
            {
              	$block_content = str_replace ('/?&', '/?', $block_content);

            	$pattern = '/<A HREF=["|\']\/[a-z-0-9\/]+(\?[a-z0-9=&]+)/i';
				$replacement = "edit_url";
 				$block_content = preg_replace_callback($pattern, $replacement, $block_content);
            }
 
Warning: preg_replace_callback() requires argument 2, 'edit_url', to be a valid callback in /home/site/public_html/inc/class.Main.php on line 3913
 
Черт это мой косяк, забыл функцию скопировать:

Полная часть в common.php (лучше в самом низу) ...
PHP:
if($CONFIG["rewrite_mod"] && $_GET["mod"] == 1 && $_GET["html"]!=""){
	$html = $_GET["html"];
	$html = "action_".substr($html, strpos("/", $html)+1);
	$html = str_replace(".html", "_", $html);

	if(preg_match_all ("/([a-z0-9]+)?_([a-z0-9]+)?_/i", $html, $param)){
		foreach($param[1] AS $key => $value ){
			$tmp = "request_$value";
			$$tmp = $param[2][$key];
			$query_string .= "$value=$key&";
		}
	}
	$html = "";
}

function edit_url($matches){
	
	$url = str_replace(array("?action=", "&", "="), array("", "_", "_"), $matches[1]).".html";

	return str_replace($matches[1], $url, $matches[0]);
}


Добавлено через 2 минуты
да единственно придется немного править модули, где action = xxx_xxx (т.е. c нижним подчеркиванием, работать не будет, я просто так и не довел до ума) ...

Хочу на папки перейти ... Как ты предлагал в первом посте ...
 
Опять 404 ошибка вместо всех страниц.
 
Тогда я ничего не понимаю ...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху