Создал views с выводом материалов.
Вывод происходит по путям:
http://mysite.ru/myview
http://mysite.ru/myview/*
Можно ли настроить views таким образом, чтобы вывод осуществлялся только по пути myview а по пути myview/* был бы 404?
Как?
Создал views с выводом материалов.
Вывод происходит по путям:
http://mysite.ru/myview
http://mysite.ru/myview/*
Можно ли настроить views таким образом, чтобы вывод осуществлялся только по пути myview а по пути myview/* был бы 404?
Как?
Комментарии
а для каких целей?
Для таких, чтобы случайным образом в индекс поисковиков не попадали страницы с совершенно одинаковым контентом.
Ну и просто для красоты *)
Теоретически можно добавить аргумент, в валидации которого и вернуть 404 страницу.
закрыть в роботе /myview/* от индексации
Аргумент Global: Null
Спасибо вам, Катя! То что надо было!
так просто в роботсе закройте и не парьтесь
А есть другой метод помимо Global: Null?
Подставляю модулем другие урлы адресов в ноды, вывожу вьюхой эти ноды - у вьюхи начало пути частично совпадает в нодами (views - 'news/', ноды: 'news/?id=nid') и получается так, что при отсутствии аргумента вместо нод по моим адресам выводится вьюха, а при наличии нулла - 404.
как это должно работать?
?
Ну во-первых, не может быть две страницы по одному пути. Если вьюха вешается на тот же самый путь, что у вас в модуле (
'newst/news'
), то она просто затирает всё что вы там написали.Во-вторых, зачем вам этот ID в гете? Принципиально? А то бы зарегистрировали себе путь
'newst/news/%node'
и всё бы у вас открывалось по'newst/news/123'
.Если вам обязательно нужен ваш ?ID, то тогда отключайте у вьюхи представление Page и выводите её вручную в вашем модуле. Примерно так:
<?php
// ... function osr_redirect_page(){
if(isset($_GET['ID']) && is_numeric($_GET['ID']) && ($node = node_load($_GET['ID']))){
return node_view($node);
}
else {
if (module_exists('views')) {
return views_embed_view('my_view_machine_name');
}
}
return drupal_not_found();
} // ...
?>
Екатерина, Спасибо большое!
Да, пути обязательны именно с 'ID', т.к. импортирую в Друпал старый сайт и пытаюсь сохранить его неЧПУ урлы.
описание тогда к вьюхе добавьте, что она у вас используется там-то и там-то, чтоб потом не удалить случайно
Это обязательно! Спасибо!
Блин, а теперь очередная трабла: в модуле напрямую указано:
<?php
$items['newst/news/'] = array ...
?>
Однако, при просмотре вьюхи (newst/news/) пейджинг все равно выглядит таким образом: 'newst/news?page=pid' (без слеша перед '?', т.е. должно было быть так: 'newst/news/?page=1').
При этом, если руками прописать слеш, то открывается та же страница, но снова ссылки на страницы без слеша.
Алиасы тут не помогут скорее всего. Может быть, есть и тут какое-либо решение?
проблема до сих пор решается с помощью Global:Null? Какие-то непонятные настройки на картинке, у меня как-то так: