Адрес типа index.php?p=support

Главные вкладки

Комментарии

Аватар пользователя emzzy emzzy 16 августа 2012 в 21:50

Нельзя. У Drupal - своя система роутинга. Для него site.ru/index.php?p=foo и site.ru/index.php?p=bar - одна и та же страница. Если вы переносите сайт с одного движка на другой(мне кажется вы это делаете) сделайте редиректы.

Аватар пользователя emzzy emzzy 16 августа 2012 в 22:27

"kalabro" wrote:
при большом желании всё можно

"Айдар" wrote:
Можно. :)

В голову приходят, только какие-то извращенные варианты, аля своих редиректов или жутких переопределений с помощью hook_url_outbound_alter

Если, есть что-то покрасивее любопытно послушать.

Аватар пользователя Айдар Айдар 16 августа 2012 в 22:48

"kalabro" wrote:
50 строк кода в студию

Sad Там еще меньше: около 15 в модуле (спасиоб Dansamara и Mnigma@drupal.org) и еще 2 в views.

Вот только давно это было, а недавно с человеком вспоминали всю последовательность - так и не получилось у него - что-то упустили. И еще, у меня вместо 'support' nid подставляется - так что как-то по-другому, вероятно.

<?php
function iliketerribleurls_menu(){
  
$items['index.php'] = array(
    
'type' => MENU_CALLBACK,
    
'page callback' => "views_embed_view('my_view', $display_id = 'default')",
  );
  return 
$items;
}
?>

Во вьюхе в аргументе node:nid php-код:
if($_GET['ID']) return $_GET['ID'];

Это для 6-ки.

Возможно, поможет еще вот это: http://www.drupal.ru/node/72879

Аватар пользователя emzzy emzzy 16 августа 2012 в 22:49

"orb" wrote:
отключите чистые ссылки и заработает, только вместо "р" будет "q"
site.ru/index.php?q=support

Вобще-то ссылки будут вида site.ru/?q=support

Аватар пользователя Айдар Айдар 16 августа 2012 в 23:21

"emzzy" wrote:
Вот это я и называю извращенным вариантом)

Ну, кто бы спорил! Smile

"PVasili" wrote:
в чём потаённый смысл такого изврата?

Вероятно, в переносе сайта на друпал с недрупала с поисковым трафиком.

Аватар пользователя PVasili PVasili 16 августа 2012 в 23:51

"Айдар" wrote:
с недрупала с поисковым трафиком.

301 редирект на нормальные URL. На хорошем сайте ~ через месяц поисковики забудут о старом мусоре и полюбят ещё больше (проверено на 4 пациентах с джумлы + 1 в процессе).

Аватар пользователя Айдар Айдар 17 августа 2012 в 0:35

Ну, если б я умел делать редирект с таких кривых урлов (Redirect такие символы тоже не понимает).

И потом, в моем случае пришлось бы автоматизировать, т.к. овер 10к страниц таких.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 17 августа 2012 в 0:40

"Айдар" wrote:
Ну, если б я умел делать редирект с таких кривых урлов (Redirect такие символы тоже не понимает).

path_redirect отлично понимает, по крайней мере если напрямую вставить в БД

Аватар пользователя PVasili PVasili 17 августа 2012 в 1:05

"RxB" wrote:
path_redirect
в 7 его нет. И в таблицу - жестоко Smile ...

"Айдар" wrote:
Ну, если б я умел делать редирект с таких кривых урлов (Redirect такие символы тоже не понимает).

Только в .htaccess на свой скрипт и [#11753]в нём 301[/#]

Аватар пользователя Chyvakoff Chyvakoff 17 августа 2012 в 9:27

"PVasili" wrote:
301 редирект на нормальные URL. На хорошем сайте ~ через месяц поисковики забудут о старом мусоре и полюбят ещё больше

Абсолютно верно. Самопис на 6 переносил,около сотни страниц нужно было поклеить - через месяц всё стало ещё лучше индексироваться.
И страниц 30 наверно не клеил-сами проиндексировались.

Аватар пользователя Anonym_tsk Anonym_tsk 17 августа 2012 в 11:12
#Если есть параметр p
RewriteCond %{QUERY_STRING} ^p=(.*)$
#Редиректим сюда
RewriteRule ^(.*)$ /index.php?q=%1 [NC,R=301,L]
#Или сюда, как больше нравится
#RewriteRule ^(.*)$ /%1? [NC,R=301,L]
Аватар пользователя emzzy emzzy 17 августа 2012 в 21:33

"orb" wrote:
никто не мешает туда ставить index.php

Drupal мешает. Посмотрите, как у вас будут строится ссылки, и вобще все что строится через систему меню Drupal-а.
Anonym_tsk
А вот ваш вариант действительно хорош.

Аватар пользователя emzzy emzzy 18 августа 2012 в 8:25

"RxB" wrote:
http://www.drupal.ru/index.php?q=node/86207 эм, а это что?

Ага, а система меню у вас тоже такие ссылки будет строить? И все, что проходит через функцию url? С отключенными чистыми ссылками пути будут строится как http://www.drupal.ru/?q=node/86207

Аватар пользователя Anonym_tsk Anonym_tsk 19 августа 2012 в 2:11

emzzy wrote:
"RxB" wrote:
http://www.drupal.ru/index.php?q=node/86207 эм, а это что?

Ага, а система меню у вас тоже такие ссылки будет строить? И все, что проходит через функцию url? С отключенными чистыми ссылками пути будут строится как http://www.drupal.ru/?q=node/86207[/quote]
/?q=bla-bla это одно и то же, что и /index.php?q=bla-bla
Учите матчасть.

Аватар пользователя divined divined 19 августа 2012 в 13:42

Anonym_tsk wrote:
emzzy wrote:
"RxB" wrote:
http://www.drupal.ru/index.php?q=node/86207 эм, а это что?

Ага, а система меню у вас тоже такие ссылки будет строить? И все, что проходит через функцию url? С отключенными чистыми ссылками пути будут строится как http://www.drupal.ru/?q=node/86207

/?q=bla-bla это одно и то же, что и /index.php?q=bla-bla
Учите матчасть.[/quote]

Скажи это ПС, почему то они в это не верят Smile

Аватар пользователя orb orb 19 августа 2012 в 12:22

"emzzy" wrote:
Ага, а система меню у вас тоже такие ссылки будет строить?

в первом сообщении не указано что бы Друпал сам строил такие ссылки, там написано что нужно что бы Друпал обрабатывал такие ссылки

Аватар пользователя emzzy emzzy 19 августа 2012 в 17:08

"Anonym_tsk" wrote:
/?q=bla-bla это одно и то же, что и /index.php?q=bla-bla
Учите матчасть.

Еще раз, система меню Drupal будет строить ссылки вида /index.php?q=bla-bla? "Учите матчасть" и почитайте про то, как это воспринимают поисковики, как выше сказал divined