Создание WordPress, как URL-адрес с помощью мод-переписать - PullRequest
0 голосов
/ 21 июня 2011

Я пытаюсь отредактировать URL http://example.com/paper-ads-details.php?req=43674&rnd=130863240 0 в http://example.com/ads/43674/1308632400, выполнив rewrite_rule

RewriteRule ^ads/([0-9]*)/([0-9]*)$ paper-ads-details.php?ads&req=$1&rnd=$2

Но это не работает. Я хочу просто скрыть параметры. Любое другое предложение будет оценено. Спасибо.

Ответы [ 3 ]

4 голосов
/ 21 июня 2011

Если вы хотите переписать: http://example.com/paper-ads-details.php?req=43674&rnd=1308632400 в http://example.com/ads?req=43674&rnd=1308632400, попробуйте это:

RewriteCond  %{QUERY_STRING} ^req
RewriteRule paper-ads-details.php?(.*)$ http://example.com/ads?$1 [L]

Здесь вы можете проверить правило переписывания - http://martinmelin.se/rewrite-rule-tester/

3 голосов
/ 21 июня 2011

Оба ваших правила перезаписи не имеют смысла. $1 или $2 нет, и то, что вы пытаетесь сделать, невозможно, поскольку ни один веб-сервер не может угадать, какими были параметры req и rnd.

Возможно, вам будет интересно переписать http://example.com/ads/43674/1308632400 в http://example.com/paper-ads-details.php?req=43674&rnd=1308632400. Вот код:

RewriteEngine On
RewriteRule ^ads/([0-9]*)/([0-9]*)$ paper-ads-details.php?req=$1&rnd=$2
1 голос
/ 21 июня 2011

Вопрос довольно запутанный, более того, благодаря предоставленному вами примеру, но если я правильно понимаю, что вы хотите, чтобы URL не содержал больше параметров, тогда у вас не будет работать $1 или $2с.Эти параметры будут соответствовать вашему регулярному выражению, но ваше регулярное выражение не соответствует любому параметру.

Итак, если вы хотите, чтобы /ads перешел к /paper-ads-details.php?req=43674&rnd=1308632400, вы можете просто написать правило, которое делает именно это:

RewriteRule ^ads$ /paper-ads-details.php?req=43674&rnd=1308632400 [L]

Приведенное выше правило будет соответствовать URL /ads и будет вызывать /paper-ads-details.php?req=43674&rnd=1308632400 каждый раз, когда запрашивается этот URL.

...