Apache и переписать проблему URL - PullRequest
0 голосов
/ 27 мая 2011

У меня есть некоторые проблемы с перезаписью URL

мне нужен trasform этот URL

News/?a=shownews&id=53 

до

index.php?m=News&a=shownews&id=53

Я пытался сделать это:

RewriteRule ^([A-Za-z0-9_]+)/\?(.+?)$ index.php?m=$1&$2 [R]

но это не работает, не могли бы вы помочь мне это исправить?

Ответы [ 3 ]

0 голосов
/ 27 мая 2011

Из документации Apache:

По умолчанию строка запроса пропускается без изменений.Однако вы можете создавать URL-адреса в строке подстановки, содержащей часть строки запроса.Просто используйте знак вопроса внутри строки замещения, чтобы указать, что следующий текст должен быть повторно введен в строку запроса.Если вы хотите стереть существующую строку запроса, завершите строку подстановки только знаком вопроса.Чтобы объединить новые и старые строки запроса, используйте флаг [QSA].

Используя флаг [QSA], вы можете переназначить свой URL-адрес, как у вас, и к нему будут добавлены существующие параметры строки запроса, или

Надеюсь, это поможет.

0 голосов
/ 27 мая 2011

РЕДАКТИРОВАТЬ: Я беру это обратно - по-видимому, это можно сделать в вашем случае

RewriteRule ^(.+)/$ index.php?m=$1 [QSA]
0 голосов
/ 27 мая 2011

Apache не может использовать параметры $ _GET для создания нового URL; вам придется изменить структуру URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...