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



 

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

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


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

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


коллеги, кто тащит в 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
Сообщений: 8008
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4523 раза
Репутация:   418  


Цитата(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
Сообщений: 8008
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4523 раза
Репутация:   418  


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
Сообщений: 8008
Регистрация: 12.4.2011
Из: СССР
Поблагодарили: 4523 раза
Репутация:   418  


коллеги, есть лишних 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
Сообщений: 3435
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2750 раз
Репутация:   289  


Код
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

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


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос по seo для интернет магазина
куда девать продвинутые товары, которые уже не выпускают
18 viktormerke 2826 15.12.2017, 15:18
автор: Smspva
Открытая тема (нет новых ответов) Вопрос к знатокам Instagram
20 SEOMR 4199 30.11.2017, 14:25
автор: DiscordPro
Открытая тема (нет новых ответов) Вопрос про Телеграмм
18 syd2010 1182 28.11.2017, 14:25
автор: PostBrigada
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыАrticle manager вопрос
0 Smile3D 442 24.11.2017, 18:27
автор: Smile3D
Открытая тема (нет новых ответов) Вопрос по трансферу доменов
8 MakDonald 1216 13.11.2017, 11:40
автор: bum


 



RSS Текстовая версия Сейчас: 19.12.2017, 2:54
Дизайн