Добавление $ на редирект перестает работать, rewriteRule не работает - PullRequest
0 голосов
/ 28 февраля 2019

Версия PHP 5.4.16

Загруженные модули Apache

core mod_so http_core mod_access_compat mod_actions mod_alias mod_allowmethods mod_auth_basic mod_auth_digest mod_authn_anon mod_authn_core mod_authn_dbd mod_authn_dbm mod_authn_file mod_authn_socache mod_authz_core mod_authz_dbd mod_authz_dbm mod_authz_groupfile mod_authz_host mod_authz_owner mod_authz_user mod_autoindex mod_cache mod_cache_disk mod_data mod_dbd mod_deflate mod_dir mod_dumpio mod_echo mod_env mod_expires mod_ext_filter mod_filter mod_headers mod_include mod_info mod_log_config mod_logio mod_mime_magic mod_mime mod_negotiation mod_remoteip mod_reqtimeout mod_rewrite mod_setenvif mod_slotmem_plain mod_slotmem_shm mod_socache_dbm mod_socache_memcache mod_socache_shmcb mod_status mod_substitute mod_suexec mod_unique_id mod_unixd mod_userdir mod_version mod_vhost_alias mod_dav mod_dav_fs mod_dav_lock mod_lua prefork mod_proxy mod_lbmethod_bybusyness mod_lbmethod_byrequests mod_lbmethod_bytraffic mod_lbmethod_heartbeat mod_proxy_ajp mod_proxy_balancer mod_proxy_connect mod_proxy_express mod_proxy_fcgi mod_proxy_fdpass mod_proxy_ftp mod_proxy_http mod_proxy_scgi mod_proxy_wstunnel mod_ssl mod_systemd mod_cgi mod_php5

Проблема

Я пытаюсь перенаправить некоторые страницы с моего сайта на домашний сайт другого сайта, но я не могу заставить его работать.В настоящее время у меня есть это:

redirect 301 /portalwebhttp://www2.tha.com.br

Это работает, если URL-адрес точно www.oldwebsite.com.br/portalweb. Но если добавить что-либо после portalweb, он перенаправляет на это: http://www.mywebsite.com.br/anything

У меня естьпопробовал следующие решения:

redirect 301 /portalweb$ http://www.mywebsite.com.br

Redirect "/portalweb$" "http://www.mywebsite.com.br/"

RedirectMatch ^portalweb/$ http://www.mywebsite.com.br

RewriteEngine On
RewriteRule    "^portalweb$"  "http://www.mywebsite.com.br/" [R,L]
RewriteRule    "^portalweb/$"  "http://www.mywebsite.com.br/" [R,L]

Когда я добавляю любое из решений, описанных выше, оно просто не работает вообще.Кажется, что из-за символа $ перенаправление не работает.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

RedirectMatch эквивалентно перенаправлению, но использует регулярные выражения, например: здесь .

Redirect код состояния по умолчанию - 302, как объяснено здесь .

Если вы измените код состояния на 301, это следует исправить.

0 голосов
/ 28 февраля 2019

Используя ответ stackoverflow.com / q / 6877486/4139335 , который был предложен @MichaelWarner.Я замечаю, что мне не хватает 301 в моем RedirectMatch

Это сработало: RedirectMatch 301 ^/portalweb/$ https://www.mywebsite.com.br Я не знаю, почему 301 добился цели, если кто-то объяснит мне, я быбудь рад.

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