X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Правила для mod_rewrite - требуется
Пуховой
Пуховой
Topic Starter сообщение 13.8.2010, 21:54; Ответить: Пуховой
Сообщение #1


Топовый постер
*******


Группа: Active User
Сообщений: 3675
Регистрация: 8.10.2007
Поблагодарили: 877 раз
Репутация:   251  


Задача такова. на сервере имеется файл:

index[too]php[vop]param[rav]10[and]param[rav]20

Нужно сделать так, чтобы при запросе вида:

index.php?param1=10&param2=20

выдавался этот файл.

Заранее спасибо за ответы.
-3
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
purple
purple
сообщение 13.8.2010, 22:31; Ответить: purple
Сообщение #2


Частый гость
**

Группа: User
Сообщений: 74
Регистрация: 6.8.2010
Поблагодарили: 12 раз
Репутация:   4  


не тестировал, попробуйте так:
RewriteEngine on
RewriteRule ^index[too]php[vop]param[rav]([0-9]+)[and]param[rav]([0-9]+)$  /index.php?param1=$1&param2=$2 [NC]


Сообщение отредактировал purple - 13.8.2010, 22:33
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Пуховой
Пуховой
Topic Starter сообщение 13.8.2010, 22:47; Ответить: Пуховой
Сообщение #3


Топовый постер
*******


Группа: Active User
Сообщений: 3675
Регистрация: 8.10.2007
Поблагодарили: 877 раз
Репутация:   251  


Такой момент... Правила должны одинаково хорошо работать для любого файла и количества параметров.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
purple
purple
сообщение 13.8.2010, 23:13; Ответить: purple
Сообщение #4


Частый гость
**

Группа: User
Сообщений: 74
Регистрация: 6.8.2010
Поблагодарили: 12 раз
Репутация:   4  


немного не понял сей момент. приведите, пожалуйста, побольше примеров в таком случае, и результаты, которые должны быть при рерайте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Пуховой
Пуховой
Topic Starter сообщение 13.8.2010, 23:39; Ответить: Пуховой
Сообщение #5


Топовый постер
*******


Группа: Active User
Сообщений: 3675
Регистрация: 8.10.2007
Поблагодарили: 877 раз
Репутация:   251  


Запрос: http://www.domain.com/?boo=1
Должно отдать содержимое файла: http://www.domain.com/[vop]boo[rav]1

Запрос: http://www.domain.com/page?puhovoi=3
Должно отдать содержимое файла: http://www.domain.com/page[vop]puhovoi[rav]3

Запрос: http://www.domain.com/iphone/iphone.asp?model=3&big=43
Должно отдать содержимое файла: http://www.domain.com/iphone/iphone[too]asp[vop]model[rav]3[and]big[rav]43

Я у сервера прошу некий файл. Сервер смотрит адрес запроса, делает замену:
? -> [vop]
& -> [and]
. -> [too]
= -> [rav]
... и отдает нужный файл.

Причем запрос может быть абсолютно любым - с директориями, с отсутствием некоторых параметров или наоборот - с излишним присутствием.

Как реализовать посредством .htaccess - не представляю, но других путей нет (или слишком заковыристые).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
purple
purple
сообщение 14.8.2010, 0:33; Ответить: purple
Сообщение #6


Частый гость
**

Группа: User
Сообщений: 74
Регистрация: 6.8.2010
Поблагодарили: 12 раз
Репутация:   4  


отписал на serverfault'е, подожду ответа. как будет ответ - сразу скину вам личное сообщение с оным.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Пуховой
Пуховой
Topic Starter сообщение 14.8.2010, 2:10; Ответить: Пуховой
Сообщение #7


Топовый постер
*******


Группа: Active User
Сообщений: 3675
Регистрация: 8.10.2007
Поблагодарили: 877 раз
Репутация:   251  


Посоветовался со знакомым веб-программистом.

Из того, что он насоветовал, получилось:

- .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ rewriterule.php

- .rewriterule.php

<?php
    echo (readfile ($_SERVER['DOCUMENT_ROOT'].str_replace ("?", "[vop]", str_replace (".", "[too]", str_replace ("&", "[and]", str_replace ("=", "[rav]", $_SERVER['REQUEST_URI']))))));
?>

Работает :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
purple
purple
сообщение 14.8.2010, 2:21; Ответить: purple
Сообщение #8


Частый гость
**

Группа: User
Сообщений: 74
Регистрация: 6.8.2010
Поблагодарили: 12 раз
Репутация:   4  


а в условии разрешено было через скрипт делать? просто думал именно через htaccess надо
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Пуховой
Пуховой
Topic Starter сообщение 14.8.2010, 18:31; Ответить: Пуховой
Сообщение #9


Топовый постер
*******


Группа: Active User
Сообщений: 3675
Регистрация: 8.10.2007
Поблагодарили: 877 раз
Репутация:   251  


purple, если будет найдено решение через .htaccess - только в радость. На данный момент буду использовать скрипт, что не очень подходит под задачу, но работает.

Новая проблема.

Делаем запрос http://domain.com/booo.php?param=1 - все работает как нужно.
Делаем запрос http://domain.com/?param=1 - отправляет в корень домена на индексную страницу.


Нужно поправить так, чтобы запросы скрипту передавались только в том случае, если в них присутствует "?".

Актуально.

.

Все оказалось проще.

RewriteEngine On
RewriteRule ^(.*)$ rewriterule.php


<?php
    error_reporting (0);
    if (substr($_SERVER['REQUEST_URI'], -1, 1) == '/')
    {
        ob_start();
        include ($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'].'index.html');
        echo ob_get_clean();            
    }
    elseif (strpos($_SERVER['REQUEST_URI'], '?') !== false || strpos($_SERVER['REQUEST_URI'], '&') !== false)
    {
        ob_start();
        include ($_SERVER['DOCUMENT_ROOT'].str_replace ("?", "[vop]", str_replace (".", "[too]", str_replace ("&", "[and]", str_replace ("=", "[rav]", $_SERVER['REQUEST_URI'])))));
        echo ob_get_clean();
    }
    else
    {
        ob_start();
        include ($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI']);
        echo ob_get_clean();
    }
?>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как использовать показатель SERP impressions из Яндекс.Вебмастера для анализа изменений в ранжировании
alexeytrudov.com - персональный блог SEO-аналитика
0 Luden 226 Сегодня, 21:39
автор: Luden
Открытая тема (нет новых ответов) GoldenGoose - лучший wap-click проект для твоего трафика!
13 Alex_Berger 2905 Сегодня, 19:25
автор: Alex_Berger
Открытая тема (нет новых ответов) Нужен крауд-специалист для наращивания трафика и ссылочного
0 Kiloan_Frost 202 Сегодня, 15:31
автор: Kiloan_Frost
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыЛюблю творить! Статьи для вас
Копирайтинг- моя жизнь!
288 Zoya83 106124 Сегодня, 14:22
автор: Molderjkee
Открытая тема (нет новых ответов) 90 статейных ссылок. Хорошие доноры для вашего сайта.
7 blogprogon 453 Сегодня, 12:27
автор: blogprogon


 



RSS Текстовая версия Сейчас: 22.5.2018, 23:53
Дизайн