требуется, чтобы вместо адреса http://live-in-drive.ru/taxonomy/term/13 отображался адрес http://live-in-drive.ru/audi
причём модуль path по некоторым причинам использовать не получается (поскольку сам адрес taxonomy/term/13 забит как путь для определённой страницы)
думаю сделать это не сложно.. но незнаю как
Комментарии
модуль pathauto подойдет?
http://drupal.ru/node/1381
> path по некоторым причинам использовать не получается (поскольку сам адрес taxonomy/term/13 забит как путь для определённой страницы)
почему не подойдёт? можно же делать несколько алиасов для одной страницы?
а как можно делать несколько алиасов для одной страницы?
почему не подойдёт path а тем более pathauto постараюсь объяснить..
есть новости относящиеся к категории AUDI c системным адресом - taxonomy/term/13
внутри самой новости выводятся категории, к которым относиться новость, в данном случае AUDI
но при переходе по адресу - taxonomy/term/13 мы видем все материалы, относящиеся к данной категории, что не есть гуд, поскольку эту страницу хотелось бы сформировать в виде простой страницы, модулем page и довешать нужные блоки уже к ней..
так вот создаём эту самую страницу об ауди, в путь прописываем - taxonomy/term/13 и всё нормально работает, но вот если добавить псевдоним - taxonomy/term/13 = audi в самой новости мы видем ссылку на категорию AUDI в ввиде заданного псевдонима, тобишь - audi и при переходе по которой снова выводятся все материалы относящиеся к данной категории, а страницы с установленным путём - taxonomy/term/13 не показывается..
вот, жду помощи.. как цеплять несколько алиасов интересно, но мне кажется, что при помощи .htaccess это сделать проще, но я всеравно пока не знаю как..
товарисчи, хэлп.. мучает вопрос
блин ну как в .htaccess заменить - taxonomy/term/13 на - audi ???
В сети есть автоответчики - google.com или ya.ru
Наберите htaccess и они вам все расскажут про него
ну уж насчёт ya.ru это вы загнули.. выдаст столько всего "полезного" запаришься разгребать.. ну а если знакомы с понятием, неужели сложно пример строчку привести?
Есть даже сайт http://htaccess.ru
это не сайт а уродское вики, просмотрев всё что там есть, ответа на простейший вопрос не нашёл.. а изучать весь принцип функционирования дабы узнать одну строчку времени нет.. может кто поможет? ну хоть кто-нибудь!?
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^audi$ $1taxonomy/term/13$2
в чём тут ошибка?
Господа! неужели данная задача невыполнима?
>>>clubwave.ru
Попробуй:
RewriteRule ^audi([^/]*)(/?)+$ /taxonomy/term/13
Loop12, так тоже не работет..
в хостинге подсказали, что возможно, поскольку mod_rewrite уже задействован в создании урла - taxonomy/term/13 из ?q=taxonomy/term/13, то стоит попробовать именно подменять второй урл.. тоесть если взять твой пример, то что-то вроде - RewriteRule ^audi(^/*)(/?)+$ ?q=taxonomy/term/13 или RewriteRule ^audi(^/*)(/?)+$ /?q=taxonomy/term/13 но и так и так тоже никакого результата..
у меня недостаточно знаний в .htaccess поэтому хочется вообще узнать как правильно записывать подмену урл.. в хостинге посоветовали так:
RewriteRule audi ?q=taxonomy/term/13
тоже никакого результата..
а в самом друпале как то можно ещё один алиас прописать? или два алиаса к одной странице? глупость, правда на мой взгляд.. но всёже в начале топика описал для чего это нужно.. очень не хочется видеть весь сайт с красивыми урлама, а самые интересные страница с - taxonomy/term/хх
Вообще в 5.0 можно прописать несколько алиасов.
--
Администратор сайта «Drupal — Россия»
на вопросы по Drupal отвечаю только на форумах, не пишите в почту и приватом!
это последнее, что написали в службе поддержки -
Здравствуйте!
Вы можете почитать документацию к данному модулю.
Модуль у нас работает, но мы не можем разбираться в Ваших скриптах.
Попробуй ещё так:
RewriteEngine On
RewriteBase /
RewriteRule ^audi(/?)+$ /taxonomy/term/13
не работает
clubwave.ru
У меня оба варианта работают на swab.ru
Обратись к хостеру, должно работать.
честно? и как это реализовано? допустим я прописываю для ноды - алиас - taxonomy/term/13 дабы ссылка, на терм автоматом вела на нужную мне страницу, а потом через модуль path добавляю - существующий системный путь - taxonomy/term/13 а алиас - audi
будет такая конструкция работать? тоесть при выводе ссылок на категорию внутри ноды ссылка будет вида - /audi и весть на нужную мне ноду с алиасом - taxonomy/term/13
в 4.7 такая конструкция не работает..
Loop12, а в чём заключается работа этих вариантов?
правильно ли я понимаю, что после этой записи -
RewriteBase /
RewriteRule ^audi(/?)+$ /taxonomy/term/13
при наборе адреса taxonomy/term/13 мы попадаем на /audi ??может я не туда пишу это?
вот мой .htaccess-
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order deny,allow
Deny from all
# Set some options.
Options -Indexes
Options +FollowSymLinks
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# PHP 4, Apache 2
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# PHP 5, Apache 1 and 2
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# Reduce the time dynamically generated pages are cache-able.
ExpiresByType text/html A1
# Various rewrite rules.
RewriteEngine on
RewriteBase /
RewriteRule ^audi(/?)+$ /taxonomy/term/13
# If your site can be accessed both with and without the prefix www.
# you can use one of the following settings to force user to use only one option:
#
# If you want the site to be accessed WITH the www. only, adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
# RewriteRule .* http://www.example.com/ [L,R=301]
#
# If you want the site to be accessed only WITHOUT the www. , adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
# RewriteRule .* http://example.com/ [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory and
# the rewrite rules are not working properly.
#RewriteBase /drupal
# Rewrite old-style URLs of the form 'node.php?id=x'.
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^id=([^&]+)$
#RewriteRule node.php index.php?q=node/view/%1 [L]
# Rewrite old-style URLs of the form 'module.php?mod=x'.
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
#RewriteRule module.php index.php?q=%1 [L]
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
php_value memory_limit 32M
# $Id: .htaccess,v 1.73 2006/04/14 09:08:26 killes Exp $
Че-то заморочка вокруг простой проблемы Давай еще раз по порядку.
Ты создаешь страницу node/???, к ней вешаешь алиас taxonomy/term/13. И хочешь получить второй алиас audi к этой же странице. Вопрос, какой был изначальный адрес страницы? Rewrite нужн писать к нему. Попробуй:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewrite audi ?q=node/xxx [L]
вместо xxx - номер этой своей ноды, для теста пока без ^ и $
это надо вставить после RewriteBase и перед # Rewrite current-style URLs of the form 'index.php?q=x'.
--
Администратор сайта «Drupal — Россия»
на вопросы по Drupal отвечаю только на форумах, не пишите в почту и приватом!
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule audi ?q=node/1326
в таком виде работает, и выдаёт обе страницы и - audi и node/1326
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewrite audi ?q=node/1326 L
выдаёт ошибку 500 на всём сайте
----------
при наборе адреса taxonomy/term/13 мы попадаем на /audi ??может я не туда пишу это?
--------
Нет!
При наборе адреса /audi мы попадаем taxonomy/term/13
Т.е. ВМЕСТО taxonomy/term/13 это /audi
Loo12,
тоесть с точки зрения системы мы находимся по адресу - taxonomy/term/13 а в адресной строке показывается как - audi?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
а эти строки что означают? ты их не пишешь?
тоесть с точки зрения системы мы находимся по адресу - taxonomy/term/13 а в адресной строке показывается как - audi?
Да. Это простая подмена.
а эти строки что означают? ты их не пишешь?
Это у знатаков друпало надо спросить там много чего написано...
После того вроде нужно:
Order deny,allow
Deny from all
Прописать это:
RewriteEngine On
RewriteRule ^audi(/?)+$ /taxonomy/term/13
И тогда по адресу /audi ты будешь видеть то что находится по этому адресу taxonomy/term/13
до конца не понял.. ну да ладно..
а вот это что значит - (/?)+$ ?
и как мне теперь сделать, чтобы при переходе по node/1326 (теперь нужен этот адрес вместо taxonomy/term/13) не просто открывался тотже материал, что и по адресу audi а открывался именно урл - audi ?
redirect /audi http://бла-бла-бла.ru/node/1326
RedirectMatch audi/.*$ http://бла-бла-бла.ru/node/1326
RedirectMatch audi^/audi$ http://бла-бла-бла.ru/node/1326
все 3 писать на каждый такой урл?
Любой.
Но лучше этот вроде RedirectMatch
третий?
Попробуй 2 и 3
и 2 и 3, или один из них?
На выбор.
Пробуй какой подойдёт.
Они все рабочие.
Просто RedirectMatch может лучше подойти чем просто redirect
круто! попробую.. но пака ненарадуюсь что так всё работает - http://live-in-drive.ru/audi
может и не надо того редиректа, как думаете?
а как сделать, чтобы при переходе на урл http:/live-in-drive.ru/AUDI тоже показывалась эта страничка - http://live-in-drive.ru/audi ??
и при переходе по адресу ."Audi"
и "aUdI"
тобишь как сделать урл с любым регистром?
а как-бы одной строчкой заменить node на например content ?
как изменить данную строчку - RewriteRule ^bmw(/?)+$ ?q=node/2451
чтобы страница была доступна и по адресу:
http://live-in-drive.ru/bmw
и по адресу
http://live-in-drive.ru/BMW
и по адресу
http://live-in-drive.ru/Bmw
и по адресу
http://live-in-drive.ru/bMw
тоесть как сделать, чтобы неважен регистр буков был..??
почемуто кажется это не сложно, учитывая, что с остальным справились..
хэлп, товарищи!
> а изучать весь принцип функционирования дабы узнать одну строчку времени нет..
нет времени говоришь?....
на решение проблемы ты уже потратил полторы недели.
может пора RTFM?
ну я не чисто 2 недели тут сижу.. занимаюсь разработкой сайта.. вот хочу узнать у тех, кто в курсе следующее:
как изменить данную строчку - RewriteRule ^bmw(/?)+$ ?q=node/2451
чтобы страница была доступна и по адресу:
http://live-in-drive.ru/bmw
и по адресу
http://live-in-drive.ru/BMW
и по адресу
http://live-in-drive.ru/Bmw
и по адресу
http://live-in-drive.ru/bMw
тоесть как сделать, чтобы неважен регистр буков был..??
изучать .htaccess и ставить эксперименты, сейчас возможности нет..
если можете помочь, буду очень благодарен..
Попробуй так:
RewriteRule ^bmw(/?)+$ ?q=node/2451 [NC]
Вместо NC поставь NC заключённый в квадратные скобки.
Этот грёбаный друпал уже достал со своеми проблемами по невозможности нормально постить символы кода...
Приходся извращаться чтобы обяснить что я запости.......
Прочитать в инете какую нибудь статью про rewrite займет 20 минут. И при этом можно узнать значительно больше, чем на форуме за 2 недели.
спасибо!! то что нужно!!
а ведь согласитесь, проще написать, что в конце нужно добавить NC в квадратных скобках..!
ещё раз спасибо!
нет, не проще - следующую проблему тебе тоже придётся решать неделю и зависить от других.
или это твой последний сайт и последний htaccess?