Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Не открывается одна ссылка

#1 Kuchuluk

Kuchuluk
  • Пользователь
  • 315 сообщений
  • Репутация: 5
0

Отправлено 02 Апрель 2014 - 15:05

Есть сайт, на главной странице которого формируется список статей с помощью кода шаблонизатора Smarty таким образом

{foreach $rsArticles as $item}
	<div class="listing-articles">
		<p class="listing-name"><a href="/article/{$item['id']}/{$item['translit']}.html">{$item['title']}</a></p>
		<div class="listing-content">
			<img src="/images/articles/{$item['img']}">
			{$item['preview']}
			<p class="read-more"><a href="/article/{$item['id']}/{$item['translit']}.html">ЧИТАТЬ ДАЛЕЕ</a></p>
		</div>
	</div>
{/foreach}

где article - название контроллера, $item['id'] - id статьи, которую выбирать из БД, $item['translit'] - транслит этой статьи. И только одна ссылка не открывается, все остальные открываются. При нажатии на эту ссылку просто обновляется главная страница, как будто редирект срабатывает. Хотя url при этом формируется правильный. Пробовал дебаггером id ловить, но даже контроллер не открывается. Пробовал id этой статьи в базе данных менять, тоже не помогает.


 

 

  • 0

#2 ssabbass

ssabbass
  • Пользователь
  • 280 сообщений
  • Репутация: 33

Отправлено 02 Апрель 2014 - 17:09

Такое ощущение, что проблема в URL. А вот та статья точно имеет расширение .html? У меня аналогичные проблемы возникали с путаницей HTML и HTM. Кроме того, в конце URL не допускается точек или других знаков (например, html. - не годится). Случается также, что при образовании URL выскакивают малозаментые ошибки вроде лишнего слеша "/" или одинарного слеша вместо двойного "//", отсутствия двоеточий перед слешками. Страница также не откроется, если использует защищенный протокол HTTPS, а ее запрашивают по HTTP.

 

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


Сообщение отредактировал ssabbass: 02 Апрель 2014 - 17:11

  • 0

#3 GameAgregator

GameAgregator
  • Оф. представитель
  • 37 сообщений
  • Репутация: 1

Отправлено 02 Апрель 2014 - 17:31

Да, с конкретным примером быстрее получится разобраться. Также обратите внимание на правила транслитерации, или может какой-то символ попадается "левый" там...


  • 0

#4 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 02 Апрель 2014 - 18:07

ssabbass, я в htaccess прописал RewriteRule ^([a-z]+)/([0-9]+)/([A-Za-z0-9-]+).html$ /?controller=$1&id=$2&tr=$3{QUERY_STRING} [NS,L] . Другие то ссылки работают... И при нажатии по этой неработающей ссылке url в браузере правильный, лишних символов нет.

 



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

Да он на локально серваке еще, в интернете нет его.


  • 0

#5 ssabbass

ssabbass
  • Пользователь
  • 280 сообщений
  • Репутация: 33

Отправлено 02 Апрель 2014 - 19:35

Плохо, что кода нет в Сети и его нельзя "пощупать". Предложу разные вариаты, возможно, что-то из нижеследующего подойдет.

 

Как вариант, можно поискать закономерности или наоборот, отклонения от общих особенностей работы скрипта. Можно заменить эту статью на другую, поменять метами ссылки в выдаче (сменить ID на другой, наконец), попытаться логически определить причину неисправности. Удалить выпадающую ссылку, попытаться скопировать ее URL из кода и вставить в адресную строку браузера. Это также может быть нижняя или верхняя ссылка в блоке, возможно, проблема даже не в этом участке кода, а в структуре страницы и некорректном наложении тегов, в валидности кода. Можно также попровать сменить браузер. Может, скрипт удаляет какие-то пробелы или они неправильно интерпретируются. Возможно, там есть скобки или другие специальные символы, нарушающие работу... Смотреть нужно разные варианты.

 

Т.е. реально сложно искать решение, когда не видно самой ошибки, к сожалению. :mellow: 


  • 1


Оформление форума – IPBSkins.ru