Я работаю на сервере apache (2.2), и я пытаюсь перенаправить URL-адрес, основанный на URL-фильтрах. Например,Apache RedirectMatch
https://mywebsite.com/path/to/page?folder=folderDirectory/folderName
будет перенаправлять:
https://mywebsite.com/static/contentUnavailable.html
В моем httpd.conf файла я следующий код ..
RedirectMatch (.*)path/to/page?folder=folderDirectory/folderName /static/contentUnavailable.html
перезапустить апачские каждый раз я вносить изменения к этому файлу, однако страница не перенаправляется. Что я делаю неправильно в RedirectMatch?
Благодарим за отзыв @ ezra-s! Я попробовал вышеуказанный код и кучу других вещей, но не повезло. Я также попытался поместить его в блок , но это также не сработало. Это должно быть в .htaccess вместо httpd.conf? Я пробовал оба места, но ничего не работает. –
Samantha
Это будет работать в любом контексте, но не нужно .htaccess, особенно если у вас есть доступ к основным файлам конфигурации. Придерживайтесь виртуального контекста как можно больше, это упростит ситуацию. Когда вы говорите «не работает», что происходит вместо этого? Постарайтесь быть настолько описательными, насколько это возможно, потому что вышеприведенные правила «работают» (я их тестировал), поэтому, возможно, что-то другое вмешивается (другие перезаписи или virtualhost и т. Д.) –
Gotcha! Поэтому я просто попытался сопоставить URI, и он действительно забирает это в файле httpd.conf, и я перенаправлен. Например, если мой URL-адрес - https://example.com/path/to/page?folder=foo, и я редактирую строку запроса в соответствии с «path/to/page», она перенаправляет меня на/static/contentUnavailable. HTML. Однако, если я специально попытаюсь сопоставить «foo» для строки запроса, она не перенаправляет меня, она выводит меня на веб-страницу с этим конкретным содержимым папки - почти так, как будто это говорит о том, что ничто в URL-адресе не соответствует «foo». Я также пробовал другие веб-страницы, но запрос на фильтр не работает для меня. – Samantha