А кто хорошо знаком с редиректами в Джумле?

12
gidronic
На сайте с 14.10.2004
Offline
146
1010

Привет коллеги. Может кто поможет за отдельную плату забороть джумловский аштиаксес?

Вот так в обрезанном виде, без комментариев, выглядит .htaccess.


AddDefaultCharset utf-8
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Задача сделать пересылку со страницы /?page_id=843 на страницу /passports-cottages.html

Внедрение в туловище аксеса всяких конструкции типа:

Redirect 301 /?page_id=843 /passports-cottages.html

RewriteRule /(.*)?page_id=843(.*) /passports-cottages.html [R=301,L]

RewriteRule ^?page_id=843$ /passports-cottages.html [R=301,L]

ни к чему толковому не приводит. Либо идет переадрес на морду, либо не грузится страница вообще. Просто таки напросто хочется взять и у....

Ало, мы ищем таланты! Помогите, если в теме. Готов оплатить решение.

тела давно минувших дней (http://www.eduard.ru) тем и живу (http://besto.ru)
75
На сайте с 29.01.2011
Offline
39
#1

После RewriteEngine On

напишите

RewriteBase /

RewriteRule ^\?page_id=843$ passports-cottages.html [R=301,L]

gidronic
На сайте с 14.10.2004
Offline
146
#2
7tvn54w0:
напишите

ни хрена не помогло, снова на морду

artrozik
На сайте с 19.02.2008
Offline
180
#3

Так попробуйте

AddDefaultCharset utf-8
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^index.php?page_id=843$ /passports-cottages.html [R=301,L]
RewriteRule ^(.*)$ index.php [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
75
На сайте с 29.01.2011
Offline
39
#4

а passports-cottages.html страница существует?

а то иначе перейдет на нее, если ее нет, перебросит опять на index.php

в приниципе как у artrozik (ух пальцы заныли:) ) тоже должно работать, только вот не уверен нужен ли слеш перед вторым урлом

gidronic
На сайте с 14.10.2004
Offline
146
#5

Не, братцы, ни хрена аштиаксес не обрабатывает адреса с ? знаком. Пишу простой redirect 301 /page_id=843 /passports-cottages.html

так работает

пишу

redirect 301 /?page_id=843 /passports-cottages.html

не работает.

75
На сайте с 29.01.2011
Offline
39
#6

тогда так:

redirect 301 .*page_id=843 /passports-cottages.html

gidronic
На сайте с 14.10.2004
Offline
146
#7

7tvn54w0, к сожалению, и этот метод не помог.

[Удален]
#8

gidronic, вот здесь что-то подобное разбиралось, я не силён в серверной части, поэтому готового решения предложить не могу

вот здесь кажется проблему решили http://xpoint.ru/forums/internet/webservers/apache/thread/34279.xhtml

75
На сайте с 29.01.2011
Offline
39
#9
gidronic:
7tvn54w0, к сожалению, и этот метод не помог.

странно, видимо где-то мелочь упускаем, щас у себя попробую че нить средиректить таким образом

gidronic
На сайте с 14.10.2004
Offline
146
#10

burunduk, Да, Лех, трагичная фраза из топика: "Знак вопроса не является частью URL, с которым работает mod_rewrite. Знак вопроса - это разделитель между URL и параметрами. То, что идет после знака вопроса (включая сам знак вопроса), вообще не попадает на обработку в RewriteRule." многое ставит на свои места.

7tvn54w0, только урлу с ? попробуйте

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий