Green arrow

Рейтинг
61
Регистрация
16.06.2013
siv1987:
Хотя да, при повторном редиректе выражение сработает снова, потому что урл /2-cars-in-1-garage соответствует условию /\d+-.
В таком случае заменить редирект на
RewriteRule ^(?!item/)[^/]+/\d+-([^/]+)/?$ /item/$1 [R=301,L]

вот, так уже нормально) спасибо

а ещё, смотрите, вот есть такого вида редирект для категорий (таких 6 повторений):


function redirect301( $url ) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $url);
die();
}

$url = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['REQUEST_URI'];
if(strpos($url, '?')) $url = substr($url, 0, strpos($url, '?'));
$url = trim($url, '/');

if($url == 'partner')
redirect301('/partner2');
elseif($url == 'oldcat')
redirect301('/category/newcat');

он в индексном файле на пхп

вопросов несколько:

1. ваше правило может как-то помешать этим редиректам или вообще нарушить что-то на сайте?

2. код редиректа на пхп правильно написан?

3. может эти 6 редиректов тоже стоит перенести в htaccess? и как будет правильно выглядеть?

при пхп редиректе ответ сервера такой:

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 29 Oct 2014 20:14:15 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.3.28
Location: /category/newcat

Он правильный или в Location должен быть полный адрес?

siv1987:
Этот выражение /\d+- делать такое не может.
/12-2-cars-in-1-garage => /2-cars-in-1-garage

не хочу с вами спорить, ибо спец тут вы, но я с практики говорю, вот сейчас тыкаю тыкаю и редирект убирает все цифры с дефисами до букв (

Moltisanti:
тьфу
RewriteRule ^[^/]+/\d+-(.*)$ /item/$1 [R=301]
попробуйте так
siv1987:
Добавить после RewriteEngine On

RewriteRule ^[^/]+/\d+-([^/]+)/?$ /item/$1 [R=301,L]

Оба варианта вроде пашут, в связи с чем у меня вопрос: чем они отличаются друг от друга и какой правильнее?

И есть ещё такой момент: после второго слеша убирается не только ИД-, но и все цифры, идущие до букв, т.е. если идёт так .../12-2-cars-in-1-garage , то редирект делает .../cars-in-1-garage , хотя название материала "2-cars-in-1-garage". Можно как-то задать удаление цифр и дефиса, а вот после дефиса не трогать?

miketomlin:
В приведенном правиле есть неточности, к тому же это рерайт, а не редирект, т.к. не хватает соответствующего флажка.

ID не просто так придуман. Он позволяет в автоматическом режиме делать перенаправление на последнюю редакцию статьи, когда меняется ее заголовок и адрес.

ну так вы знаете конкретно какие неточности и можете показать правильный с вашей точки зрения вариант?

спасибо за инфу по поводу ID, но ещё раз повторяюсь, данный момент не нуждается в обсуждении, в новом движке не будет редакций, ИД в урлах вообще не используется, работает по другому короче

miketomlin:
Не уловил суть вопроса. Ну, сделали вы на php, поздравляю.

Прежде чем убирать ID, подумайте, не будет ли у вас из-за этого в будущем проблем.

ну прочтите ещё раз, я говорю, что не вышло у меня, так что не понятно с чем вы поздравляете...

вариант, который выше кидали для htaccess тоже ничего не дал

о каких проблемах вы вообще говорите? движок меняется, или вы это просто так написали типа теоретическое высказывание

нет, не реагирует на такое правило, ещё есть варианты?

Moltisanti:
имеет.

Для вашего случая проще через htaccess
RewriteRule ^[^/]+\/\d+-(.*)& /item/$1 - что-то типа такого

d+ - это что такое?

да можно и через htaccess, мне не принципиально

SSE:
Добрый)
Возникла проблемка, при переезде на другой хостинг, ряд сайтов не удается перенести - превышен лимит в 70 mb на базу данных...пробовал архивировать(тотал коммандером) - не хочет принимать такой файл(name_sql.zip).
Подскажите плиз, как перенести базу банных, быть может ее можно как-то разбить и частями залить?

Спасибо)

P.S. Хостинг - Джино.

не получается через веб-интерфейс? если есть ssh доступ, то можно при помощи него и забекапить и развернуть БД

Abrikosik:
Здравствуйте! Помогите наладить работу ссылок в верхнем меню на сайте, именно не работает ссылка "Обратная связь" или любые другие ссылки добавляемые мной вне выпадающего меню (адекватно работают ссылки которые располагаются как подпункты раздела меню), если открыть ссылку в новом окне то она открывается. Как сделать чтобы сам пункт меню работал как ссылка?

а что должно происходить? плавный скроллинг к форме обратной связи внизу страницы, также, как и к другим разделам?

Если ДА, то в урл Обратной связи надо прописать #sp-bottom-wrapper заместо /feedback

кстати сама страница feedback, если её вручную открыть через адресную строку, выглядит ужасно, пошаманьте с файлом шаблона этого модуля или вообще закройте эту стр

infant:
Как вам такой вариант ?

максимально гибко, как мне кажется) хорошо

Всего: 179