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



 

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

Открыть тему
Тема закрыта
> вопрос по mod_rewrite
anchous
anchous
Topic Starter сообщение 14.5.2014, 15:20; Ответить: anchous
Сообщение #1


Йеребатан Абырвалг
*******

Группа: Super Moderator
Сообщений: 8173
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4630 раз
Репутация:   426  


коллеги, кто тащит в mod_rewrite, прошу помощи, а то что то мозг в узел уже скрутился, никак не пойму как описать поштучный рерайт.

надо чтобы без масок и общих правил урл1 переписался как урл2

на хостинге есть доки формата:
mmz.engines.html-en_type=1.htm
mmz.engines.html-en_type=2.htm

мне надо чтобы бродилка их выводила в виде
mmz.engines.html?en_type=1
mmz.engines.html?en_type=2

но на мои шаманства вроде

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]+\ ([^\s]+)
RewriteRule ^mmz.engines.html-en_type=1.htm /mmz.engines.html?en_type=1

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

The requested URL //mmz.engines.html&en_type=1 was not found on this server.

опять же если приплюсывывая домен, то урл в ошибке вида
/http://site/mmz.engines.html&en_type=1

вот не могу понять откель кулёр взялся этот первый слеш и как должно быть?

Сообщение отредактировал anchous - 14.5.2014, 15:22


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WMGM
WMGM
сообщение 14.5.2014, 17:55; Ответить: WMGM
Сообщение #2


Новичок
*


Группа: User
Сообщений: 34
Регистрация: 11.11.2010
Из: Киев
Поблагодарили: 11 раз
Репутация:   1  


Код
RewriteEngine On
RewriteRule ^mmz.engines.html?en_type=([0-9]+)$ mmz.engines.html-en_type=$1.htm [L]


Как-то так ;)


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
anchous
anchous
Topic Starter сообщение 14.5.2014, 18:08; Ответить: anchous
Сообщение #3


Йеребатан Абырвалг
*******

Группа: Super Moderator
Сообщений: 8173
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4630 раз
Репутация:   426  


Цитата(WMGM @ 14.5.2014, 17:55) *
Как-то так ;)

увы, но с тем же успехом
к тому же, как я понимаю, данное выражение перпишет все множество файлов, а мне нужно только несколько


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 14.5.2014, 18:24; Ответить: Pepper
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 393
Регистрация: 14.1.2011
Поблагодарили: 123 раза
Репутация:   31  


Я не понимаю вашу логику, т.е. задачу.

mmz.engines.html-en_type=1.htm - это физический файл на сервере?

При вводе в адресной строке mmz.engines.html?en_type=1 должен выдаваться тот физический файл?

Если так, то у вас правила наоборот написаны.

Кстати, ? и . - это спец. символы.

Сообщение отредактировал Pepper - 14.5.2014, 18:25


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
anchous
anchous
Topic Starter сообщение 14.5.2014, 18:40; Ответить: anchous
Сообщение #5


Йеребатан Абырвалг
*******

Группа: Super Moderator
Сообщений: 8173
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4630 раз
Репутация:   426  


mmz.engines.html-en_type=1.htm это физический файл которму при открытии надо переписать урл в mmz.engines.html?en_type=1
Цитата(Pepper @ 14.5.2014, 18:24) *
Если так, то у вас правила наоборот написаны.

к сожалению от перестановки слагаемых результат никак не меняется, ибо пробывал и так и так: в моем примере хотя бы идет попытка рерайта при обращении к mmz.engines.html-en_type=1.htm, если их поменять местами то вообще ничего не происходит: mmz.engines.html-en_type=1.htm открывается как есть, mmz.engines.html?en_type=1 дает 404 ошибку

Сообщение отредактировал anchous - 14.5.2014, 18:45


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 14.5.2014, 19:15; Ответить: Pepper
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 393
Регистрация: 14.1.2011
Поблагодарили: 123 раза
Репутация:   31  


Эти правила для одного файла. Пробуйте.

Код
RewriteEngine On

RewriteRule mmz\.engines\.html-en_type=1\.htm mmz.engines.html?en_type=1  [R=301,L]

RewriteCond %{QUERY_STRING} ^en_type=1$
RewriteRule mmz\.engines\.html  mmz.engines.html-en_type=1.htm [L]


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
anchous
anchous
Topic Starter сообщение 10.7.2014, 23:09; Ответить: anchous
Сообщение #7


Йеребатан Абырвалг
*******

Группа: Super Moderator
Сообщений: 8173
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4630 раз
Репутация:   426  


коллеги, есть лишних 200 рублей, надо составить выражение для mod_rewrite из любого удобного формата имени N.html в index.php?newsid=N
то есть
1.html -> index.php?newsid=1
2.html -> index.php?newsid=2
3.html -> index.php?newsid=3


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 11.7.2014, 8:58; Ответить: x64
Сообщение #8


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3544
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2881 раз
Репутация:   294  


Код
RewriteEngine on
RewriteRule ^(.+)\.html$ index.php?newsid=$1 [L,QSA]


если же нужны исключительно цифры, тогда так:

Код
RewriteEngine on
RewriteRule ^([0-9]+)\.html$ index.php?newsid=$1 [L,QSA]


ps: но это для внутреннего редиректа. для внешнего требуется добавить флаг R:
Код
RewriteEngine on
RewriteRule ^([0-9]+)\.html$ /index.php?newsid=$1 [L,QSA,R]

флаг QSA — по необходимости, если требуется передавать параметры запроса:
123.html?a=2 → index.php?newsid=123&a=2

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал x64 - 11.7.2014, 9:08


--------------------


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос по поводу цен на сайте
16 WildWeb8 943 13.5.2018, 17:40
автор: genjnat
Открытая тема (нет новых ответов) Вопрос к тем, кто зарабатывает на недвижимости?
Как заработать на недвижке.?
15 Dross 2753 26.4.2018, 18:26
автор: megachange
Открытая тема (нет новых ответов) Вопрос по сетке сайтов
Стоит ли так делать?
10 asskra 1425 12.4.2018, 22:33
автор: Ancitrus
Открытая тема (нет новых ответов) Вопрос по расингу контента
5 gold15 669 2.4.2018, 19:18
автор: mmkulikov
Открытая тема (нет новых ответов) Вопрос по метрике
3 Bel_Ami 726 6.3.2018, 16:48
автор: richif


 



RSS Текстовая версия Сейчас: 24.5.2018, 10:26
Дизайн