Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
1

RewriteRule

07.09.2010, 19:31. Просмотров 1802. Ответов 10
Метки нет (Все метки)

Помогите написать RewriteRule для поиска.
RewriteRule ^searchaudiotrack,title-x,year-x,language-x$ search.php?title=$1&year=$2&language=$3
search.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>Поиск</title>
</head>
<body>
<?
if(isset($_GET['title']) || isset($_GET['year']) || isset($_GET['language']))
{
    if(isset($_GET['title'])) 
    { 
        echo "<strong>Русское или оригинальное название:</strong> ".$_GET['title']."<br>";
    }
    if(isset($_GET['year'])) 
    { 
        echo "<strong>Год выхода:</strong> ".$_GET['year']."<br>";
    }
    if(isset($_GET['language'])) 
    { 
        echo "<strong>Язык:</strong> ".$_GET['language']."<br>";
    }
    echo "<br><br>";
}
?>
 
 
<div style='width:600px;'>
    <form action='search.php' method='get'>
        <strong>Русское или оригинальное название:</strong><br>
        <input type='text' name='title' style='width:200px;'><br><br>
        <strong>Год выхода:</strong><br>
        <select name='year' size='1' style='width:100px;'>
            <option value=''>-Любой-</option>
            <option value='2000'>2000</option>
            <option value='2001'>2001</option>
            <option value='2002'>2002</option>
            <option value='2003'>2003</option>
            <option value='2004'>2004</option>
            <option value='2005'>2005</option>
            <option value='2006'>2006</option>
            <option value='2007'>2007</option>
            <option value='2008'>2008</option>
            <option value='2009'>2009</option>
            <option value='2010'>2010</option>
        </select><br><br>
        <strong>Язык:</strong><br>
        <select name='language' size='1' style='width:200px;'>
            <option value="">-Выбрать-</option>
            <option value="1">Русский</option>
            <option value="2">Украинский</option>
            <option value="3">Английский</option>
        </select>
        <br>
        <center><input type='submit' value='Искать' style='margin:5px;'></center>
    </form>
</div>
 
</body>
</html>
СПС.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2010, 19:31
Ответы с готовыми решениями:

RewriteCond влияет толко для один, следушчи RewriteRule. можно как-то превишать количество RewriteRule
здраствуите, вот что интересно, сделаю mod_rewrite и для етого в .htaccess фаиле пишу ...

RewriteRule
Здравствуйте. Есть файл .htaccess: RewriteEngine On RewriteRule ^year/(+)/?$...

RewriteRule
Люди помогите сделать в htaccess код Мне нужно чтобы из такого урл ...

о RewriteRule
пытаюсь на своем сайте сделать ЧПУ , все страницы меняются 1й переменной либо page(отвечает за...

RewriteRule
AddDefaultCharset utf-8 RewriteEngine on RewriteRule ^(.+)/ $1\.php RewriteRule ^(.+) $1\.php...

10
Vovan-VE
13165 / 6551 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
07.09.2010, 19:35 2
Любые символы, кроме , ?
Код
RewriteRule ^searchaudiotrack,title-([^,]*),year-([^,]*),language-([^,]*)$ search.php?title=$1&year=$2&language=$3
1
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
07.09.2010, 19:42  [ТС] 3
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Любые символы, кроме , ?
Код
RewriteRule ^searchaudiotrack,title-([^,]*),year-([^,]*),language-([^,]*)$ search.php?title=$1&year=$2&language=$3
Супер, но мне нужно чтобы были доступны все символы(
0
Vovan-VE
13165 / 6551 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
07.09.2010, 19:44 4
Так у Вас запятыми все разделяется
0
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
07.09.2010, 19:47  [ТС] 5
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Так у Вас запятыми все разделяется
Т.е. если я разделяю все запятыми то запятые использовать нельзя? Это проблема....
0
Vovan-VE
13165 / 6551 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
07.09.2010, 19:50 6
Для этого и были придумалы специальные символы (? = &) и кодирование %FF
1
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
07.09.2010, 19:53  [ТС] 7
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Для этого и были придумалы специальные символы (? = &) и кодирование %FF
А если так
RewriteRule ^searchaudiotrack?title-([^]*)&year-([^]*)&language-([^]*)$ search.php?title=$1&year=$2&language=$3
но к сожалению это не работает...

Или как в google
RewriteRule ^searchaudiotrack|title-([^]*)|year-([^]*)|language-([^]*)$ search.php?title=$1&year=$2&language=$3
0
Vovan-VE
13165 / 6551 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
07.09.2010, 20:02 8
Цитата Сообщение от IamSCORPION Посмотреть сообщение
А если так
Логика-то какая? Что может получиться?
searchaudiotrack,title-test,year-foo,,,,bar,language-ru
searchaudiotrack,title-test,year-foo,,,,bar,language-ru
Добавлено через 6 минут
Цитата Сообщение от IamSCORPION Посмотреть сообщение
Или как в google
Символ | всегда кодируется в %7C
1
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
07.09.2010, 20:06  [ТС] 9
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Логика-то какая? Что может получиться?
searchaudiotrack,title-test,year-foo,,,,bar,language-ru
searchaudiotrack,title-test,year-foo,,,,bar,language-ru
Добавлено через 6 минут

Символ | всегда кодируется в %7C
Ясно. Тогда есть только один вариант
RewriteRule ^searchaudiotrack?title-([^]*)&year-([^]*)&language-([^]*)$ search.php?title=$1&year=$2&language=$3
но к сожалению это не работает.. Я ошибся или этот вариант тоже работать не будет?
0
Vovan-VE
13165 / 6551 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
07.09.2010, 20:09 10
IamSCORPION, Вы с регулярными выражениями знакомы?
[символы] - соответствует одному символу из списка
[^символы] - соответствует одному любому символу, кроме символов из списка
Вот я Вам и написал [^,] - все, кроме , .
1
IamSCORPION
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
07.09.2010, 20:32  [ТС] 11
Цитата Сообщение от Vovan-VE Посмотреть сообщение
IamSCORPION, Вы с регулярными выражениями знакомы?
[символы] - соответствует одному символу из списка
[^символы] - соответствует одному любому символу, кроме символов из списка
Вот я Вам и написал [^,] - все, кроме , .
Не очень(

Если так
RewriteRule ^searchaudiotrack?title-([^&]*)&year-([^&]*)&language-([^&]*)$ search.php?title=$1&year=$2&language=$3
то пишет Page Not Found (404)

Добавлено через 20 минут
Сделал так
RewriteRule ^searchaudiotrack;title=([^|]*);year=([0-9]{4}|all);language=([a-z]{3})$ audiotrack.php?title=$1&year=$2&language=$3
0
07.09.2010, 20:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2010, 20:32

RewriteRule
Всем доброго дня! Покажите как на практике можно заенить URL ...

RewriteRule
Никак не могу разобрать как это работает. Сколько примеров не смотрел ничего не получается....

RewriteRule
Прошу помощи. Не знаю как сделать так что бы работала вот эта строка со знаком вопроса. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru