Перейти к контенту
  • 0

Помогите, срочный глюк с ЧПУ-ссылками.


Unico

Вопрос

Обсуждалось ли это где?

не нашел...

 

глюк у меня нарисовался при создании новых тем...

связано с тем, что появились 100 000 темы

сами темы создаются и доступны через динамические адреса...

 

но должна была создаться тема

 

http://example.com/forum/topic100022.html

 

а создалась такая вот... и соотвественно нот фаунд.

404 ошибка.

 

http://example.com/forum/topic10002.html2

 

правила в хтакцесс такие...

 

RewriteEngine On

RewriteRule ^index.htm index.php?%{QUERY_STRING}

RewriteRule ^index.html index.php?%{QUERY_STRING}

RewriteRule ^main.html index.php?act=idx&%{QUERY_STRING}

RewriteRule ^forum([0-9]+)\.html$ index.php?showforum=$1&%{QUERY_STRING}

RewriteRule ^topic([0-9]+)\.html$ index.php?showtopic=$1&%{QUERY_STRING}

RewriteRule ^topic([0-9]+)\.html&st=([0-9]+)$ index.php?showtopic=$1&st=$2&%{QUERY_STRING}

RewriteRule ^topic([0-9]+)s([0-9]+)\.html$ index.php?showtopic=$1&st=$2&%{QUERY_STRING}

RewriteRule ^cat([0-9]+)\.html$ index.php?act=SC&c=$1&%{QUERY_STRING}

 

насколько помню, вносились соответствующие корректировки и в пхп-файлы.

 

помогите, срочно плиз ))

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
насколько помню, вносились соответствующие корректировки и в пхп-файлы.

Какие? По какой инструкции? Телепатически это не решается.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

по инструкции конечно...

http://db.ibresource.ru/375/

 

но это было в году этак 2004...

с тех пор возможно в хак внесли фиксы..

 

а может до этого глюка никто не доходил.

все-таки 100 000 тем - это много для форума.

форуму почти 7 лет.

 

посмотрите, пож-та..

нет ли где ошибок характерных для такого глюка

и возможно нужно проверить какую-то строчку у меня, если фиксы вносились...

 

-------

 

 

 

// *******************************************************
// PHP to HTML convertor v2.0b for IPB2.0F
// (с) UriSoft 2004
// *******************************************************



// Изменяемые файлы:
// sources/functions.php
// sources/classes/class_display.php
// sources/misc/print_page.php



// -----------------------------------------------------------------------------
// В файле sources/functions.php
// -----------------------------------------------------------------------------
// Найти:
// -----------------------------

/*-------------------------------------------------------------------------*/
//
// Redirect using HTTP commands, not a page meta tag.
//
/*-------------------------------------------------------------------------*/

function boink_it($url)

// -----------------------------
// Вставить выше:
// -----------------------------

//-------------------------------------------
// Hack. Convert php to html (class FUNC)
//-------------------------------------------
function do_php_to_html($buffer) {
	global $ibforums;

	if ($ibforums->vars['php_to_html'] == 1)
	{
		$forum_url = str_replace("/","\/",$ibforums->vars['board_url']);
		$forum_url = str_replace(":","\:",$forum_url);
		$forum_url = str_replace(".","\.",$forum_url);
		$s_search = array("'(\?|\&|\&)s=[0-9a-zA-Z]{32}(?:\&|\&)'i",
				  "'(?:\&|\&)s=[0-9a-zA-Z]{32}'i",
				  "'\?s=[0-9a-zA-Z]{32}'i");
		$s_replace = array("\\1",
				   "",
				   "");
		$search = array("'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=idx(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=idx'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=home(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=home'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=portal(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=portal'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showforum=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showforum=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SF(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SF(?:\&|\&)f=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SC(?:\&|\&)c=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SC(?:\&|\&)c=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?c=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?c=([0-9]{1,5})'i",

						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=Print(?:\&|\&)client=printer(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showuser=([0-9]{1,5})(?:\&|\&)(\S*?)'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showuser=([0-9]{1,5})'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=Profile(?:\&|\&)CODE=03(?:\&|\&)MID=([0-9]{1,5})'i",

						"'".$forum_url."\/index\.php\?s='i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=(\S*?)'i",
						"'".$forum_url."\/index\.php\?(\S*?)'i",
  							"'".$forum_url."\/index\.php'i");
		$replace = array($ibforums->vars['board_url']."/main.html?\\1",
						$ibforums->vars['board_url']."/main.html",
						$ibforums->vars['board_url']."/index.html?\\1",
						$ibforums->vars['board_url']."/index.html",
						$ibforums->vars['board_url']."/index.html?\\1",
						$ibforums->vars['board_url']."/index.html",
						$ibforums->vars['board_url']."/forum\\1.html?\\2",
						$ibforums->vars['board_url']."/forum\\1.html",
						$ibforums->vars['board_url']."/forum\\1.html?\\2",
						$ibforums->vars['board_url']."/forum\\1.html",
						$ibforums->vars['board_url']."/topic\\1s\\2.html?\\3",
						$ibforums->vars['board_url']."/topic\\1s\\2.html",
						$ibforums->vars['board_url']."/topic\\1.html?\\2",
						$ibforums->vars['board_url']."/topic\\1.html",
						$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4",
						$ibforums->vars['board_url']."/topic\\2s\\3.html",
						$ibforums->vars['board_url']."/topic\\2.html?\\3",
						$ibforums->vars['board_url']."/topic\\2.html",
						$ibforums->vars['board_url']."/cat\\1.html?\\2",
						$ibforums->vars['board_url']."/cat\\1.html",
						$ibforums->vars['board_url']."/cat\\1.html?\\2",
						$ibforums->vars['board_url']."/cat\\1.html",

						$ibforums->vars['board_url']."/ptopic\\2.html",
						$ibforums->vars['board_url']."/user\\1.html?\\2",
						$ibforums->vars['board_url']."/user\\1.html",
						$ibforums->vars['board_url']."/user\\1.html",

						$ibforums->vars['board_url']."/index.html",
						$ibforums->vars['board_url']."/ipb.html?act=\\1",
						$ibforums->vars['board_url']."/ipb.html?\\1",
						$ibforums->vars['board_url']."/index.html");
		$buffer = preg_replace($s_search,$s_replace,$buffer);
		$buffer = preg_replace($search,$replace,$buffer);
	}
	return $buffer;
}

// -----------------------------
// Найти:
// -----------------------------

function boink_it($url)
{
	global $ibforums;

// -----------------------------
// Вставить ниже:
// -----------------------------

	$url = $this->do_php_to_html($url);







// -----------------------------------------------------------------------------
// В файле sources/classes/class_display.php
// -----------------------------------------------------------------------------
// Найти:
// -----------------------------

/*-------------------------------------------------------------------------*/
//
// Parses all the information and prints it.
//
/*-------------------------------------------------------------------------*/

function do_output($output_array)
{

// -----------------------------
// Вставить выше:
// -----------------------------

//-------------------------------------------
// Hack. Convert php to html (class display)
//-------------------------------------------
function do_php_to_html($buffer) {
	global $ibforums;

	if ($ibforums->vars['php_to_html'] == 1)
	{
		$forum_url = str_replace("/","\/",$ibforums->vars['board_url']);
		$forum_url = str_replace(":","\:",$forum_url);
		$forum_url = str_replace(".","\.",$forum_url);
		$s_search = array("'(\?|\&|\&)s=[0-9a-zA-Z]{32}(?:\&|\&)'i",
				  "'(?:\&|\&)s=[0-9a-zA-Z]{32}'i",
				  "'\?s=[0-9a-zA-Z]{32}'i");
		$s_replace = array("\\1",
				   "",
				   "");
		$search = array("'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=idx(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=idx([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=home(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=home([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=portal(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=portal([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showforum=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showforum=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SF(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SF(?:\&|\&)f=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})(?:\&|\&)hl=([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)hl=([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showtopic=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)st=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=ST(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SC(?:\&|\&)c=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=SC(?:\&|\&)c=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?c=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?c=([0-9]{1,5})([\"\'])'i",

						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=Print(?:\&|\&)client=printer(?:\&|\&)f=([0-9]{1,5})(?:\&|\&)t=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showuser=([0-9]{1,5})(?:\&|\&)(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?showuser=([0-9]{1,5})([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?(?:\&|\&)*?act=Profile(?:\&|\&)CODE=03(?:\&|\&)MID=([0-9]{1,5})([\"\'])'i",

						"'".$forum_url."\/index\.php\?s=([\"\'])'i",
						"'".$forum_url."\/index\.php(\?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(?:s=(?:\&|\&))*?act=(\S*?)([\"\'])'i",
						"'".$forum_url."\/index\.php\?(\S*?)([\"\'])'i");
		$replace = array($ibforums->vars['board_url']."/main.html?\\1\\2",
						$ibforums->vars['board_url']."/main.html\\1",
						$ibforums->vars['board_url']."/index.html?\\1\\2",
						$ibforums->vars['board_url']."/index.html\\1",
						$ibforums->vars['board_url']."/index.html?\\1\\2",
						$ibforums->vars['board_url']."/index.html\\1",
						$ibforums->vars['board_url']."/forum\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/forum\\1.html\\2",
						$ibforums->vars['board_url']."/forum\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/forum\\1.html\\2",
						$ibforums->vars['board_url']."/topic\\1s\\2.html\\3",
						$ibforums->vars['board_url']."/topic\\1s\\2.html?\\3\\4",
						$ibforums->vars['board_url']."/topic\\1s\\2.html\\3",
						$ibforums->vars['board_url']."/topic\\1.html\\2",
						$ibforums->vars['board_url']."/topic\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/topic\\1.html\\2",
						$ibforums->vars['board_url']."/topic\\2s\\3.html?\\4\\5",
						$ibforums->vars['board_url']."/topic\\2s\\3.html\\4",
						$ibforums->vars['board_url']."/topic\\2.html?\\3\\4",
						$ibforums->vars['board_url']."/topic\\2.html\\3",
						$ibforums->vars['board_url']."/cat\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/cat\\1.html\\2",
						$ibforums->vars['board_url']."/cat\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/cat\\1.html\\2",

						$ibforums->vars['board_url']."/ptopic\\2.html\\3",
						$ibforums->vars['board_url']."/user\\1.html?\\2\\3",
						$ibforums->vars['board_url']."/user\\1.html\\2",
						$ibforums->vars['board_url']."/user\\1.html\\2",

						$ibforums->vars['board_url']."/index.html\\1",
						$ibforums->vars['board_url']."/index.html\\1\\2",
						$ibforums->vars['board_url']."/ipb.html?act=\\1\\2",
						$ibforums->vars['board_url']."/ipb.html?\\1\\2");
		$buffer = preg_replace($s_search,$s_replace,$buffer);
		$buffer = preg_replace($search,$replace,$buffer);
	}
	return $buffer;
}

// -----------------------------
// Найти:
// -----------------------------

	print $ibforums->skin['_wrapper'];

// -----------------------------
// Вставить выше:
// -----------------------------

	$ibforums->skin['_wrapper'] = $this->do_php_to_html($ibforums->skin['_wrapper']);

// -----------------------------
// Найти:
// -----------------------------

	echo ($htm);
	exit;

// -----------------------------
// Вставить выше:
// -----------------------------

	$htm = $this->do_php_to_html($htm);

// -----------------------------
// Найти:
// -----------------------------

	echo ($html);
	exit;

// -----------------------------
// Вставить выше:
// -----------------------------

	$html = $this->do_php_to_html($html);




// -----------------------------------------------------------------------------
// В файле sources/misc/print_page.php
// -----------------------------------------------------------------------------
// Найти:
// -----------------------------

	return $posts_html;

// -----------------------------
// Вставить выше:
// -----------------------------

	$posts_html = $print->do_php_to_html($posts_html);





// -----------------------------
// В MySQL выполнить запрос:
// ВНИМАНИЕ! Заменить ibf_ на ваш префикс
// -----------------------------

INSERT INTO `ibf_conf_settings` ( `conf_title` , `conf_description` , `conf_group` , `conf_type` , `conf_key` , `conf_value` , `conf_default` , `conf_extra` , `conf_evalphp` , `conf_protected` , `conf_position` , `conf_start_group` , `conf_end_group` , `conf_help_key` , `conf_add_cache` )
VALUES (
'Enable PHP to HTML conversion ?', 'Before enable this features you must right set .htaccess file.', '1', 'yes_no', 'php_to_html', '', '0', '', '', '1', '127', 'Converter Settings', '1', '0', '1'
);


// -----------------------------
// Создать в корне форума файл .htaccess:
// -----------------------------
RewriteEngine On
RewriteRule ^index.htm index.php?%{QUERY_STRING}
RewriteRule ^index.html index.php?%{QUERY_STRING}
RewriteRule ^main.html index.php?act=idx&%{QUERY_STRING}
RewriteRule ^ipb.html index.php?%{QUERY_STRING}
RewriteRule ^topic([0-9]+)\.html$ index.php?showtopic=$1&%{QUERY_STRING}
RewriteRule ^topic([0-9]+)s([0-9]+)\.html$ index.php?showtopic=$1&st=$2&%{QUERY_STRING}
RewriteRule ^forum([0-9]+)\.html$ index.php?showforum=$1&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.html$ index.php?act=SC&c=$1&%{QUERY_STRING}
RewriteRule ^ptopic([0-9]+)\.html$ index.php?act=Print&client=printer&f=1&t=$1&%{QUERY_STRING}
RewriteRule ^user([0-9]+)\.html$ index.php?showuser=$1&%{QUERY_STRING}




// -----------------------------
// Включить конвертор в панели администрирования:
// -----------------------------

System Settings -> General Configuration -> Converter Settings -> Enable PHP to HTML conversion ?

// -----------------------------
// Для запрета индексации "ненужной" части форума добавить в robots.txt
// -----------------------------

User-Agent: *
Disallow: /ipb

 

создаю тему

 

должно

http://forum.ru/topic100028.html

 

а создается

http://forum.ru/topic10002.html8

 

при это по динамическому адресу все нормуль.

http://forum.ru/index.php?showtopic=100028

http://forum.ru/index.html?showtopic=100028

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В инструкции есть много фрагментов вида

[0-9]{1,5}

Их нужно найти и заменить на

[0-9]{1,10}

или лучше

[0-9]+

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.