.htaccess, mod_rewrite для домена, субдомена и запросов

1

У меня есть эта ссылка:

http://portal.tribee.com.br/pwreset.php?key=3ef73d15ddb6e307f5c12ffd5bed7d7f

И мне нужно сделать так:

http://tribee.com.br/suporte/?ccce=pwreset&key=98f7459b8d46e3a54ed76965825c894a 

На самом деле, "pwreset.php" является одной из страниц... Там clientarea.php также и другие... Если я могу сделать общий htaccess, который позволяет мне сохранить свой основной домен, было бы идеальным матч... Я уже пробовал много комбинаций.. таких как:

RewriteCond %{REQUEST_URI}  ^/pwreset\.php$
RewriteCond %{QUERY_STRING} ^key=(.*)$
RewriteCond %{HTTP_HOST} ^portal.tribee.com.br$
RewriteRule ^(.*)$ http://tribee.com.br/suporte/?ccce=&%1. [R=302,L]
RewriteRule ^$ http://tribee.com.br/suporte/?ccce=pwreset&key=%1 [R,L]

У кого-нибудь есть идея, как я могу это достичь? Tks!

Теги:
.htaccess
redirect
mod-rewrite

2 ответа

0

Через много часов я получил:

RewriteCond %{HTTP_HOST} ^portal.tribee.com.br$
RewriteCond %{REQUEST_URI}  ^(.*)\.php$
RewriteCond %{QUERY_STRING} ^key=(\w+)$
RewriteRule ^(.*)\.php$ http://tribee.com.br/suporte/?ccce=$1&key=%1 [R=301,L,NC]

Если кому-то понадобится в будущем, \w+ разрешил мне использовать одно и то же имя, используемое для запроса запроса к сгенерированному URL-адресу. Спасибо за вашу помощь Джованни, имитируя его снова и снова и принимая ваше правило перезаписи, привело меня к ответу!

  • 0
    нет проблем, рад, что помог
0

Я считаю, что ответ на этот конкретный код должен быть примерно таким:

RewriteEngine On
RewriteBase http://tribee.com.br
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^pwreset.php?key=(.+)$ /suporte/?ccce=pwreset&key=$1 [R=302,L]

Чтобы просто объяснить, что я сделал здесь:

  1. Я установил базу для перезаписи (помещает результат ПОСЛЕ базы)
  2. если запрошенный запрос не является каталогом
  3. если запрошенный запрос не является файлом
  4. проверьте, содержит ли запрошенный запрос pwreset.php?key=something и переписывает это на base/suporte/?ccce=pwreset&key=something
  5. перенаправлять на фактический переписанный URL-адрес

Я надеюсь, что это помогло, иначе мне, возможно, придется что-то корректировать в коде

  • 0
    RewriteBase возвращает страницу ошибки 500 ... :( Я был настолько уверен, что это будет решением ... Но все еще пытаюсь ... Есть идеи? Tks !!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню