Я пытаюсь создать правило Apache Rewrite для следующих условий:Apache RewriteRule беды
Оригинальный URL: https://somewebsite.com/GCSWEB/runSavedReport.do?mode=excel&reportID=40678 Новый URL: https://somewebsite.com/demo/runSavedReport.do?mode=excel&reportID=40678
Таким образом, только когда /runSavedReport.do?mode = excel & requestID = xxxxx запрашивается веб-путь/GCSWEB будет заменен на/demo. Все остальные части URL-адреса останутся прежними. Я закодированы следующие, но это не работает:
RewriteRule ^/GCSWEB/runSavedReport\.do\?mode=excel\&reportID=([0-9]+)$ https://somewebsite.com/demo/runSavedReport.do?mode=excel&reportID=$1 [R=301,L]
Важно также отметить, у меня есть еще одно существующее правило, которое работает отлично, который перенаправляет запрос на любой/GCSWEB/хххх/ххх/с демо. Однако я хочу, чтобы это новое правило переопределяло существующее правило, если вызывается указанный выше URL. Любой другой URL-адрес опустится до существующего правила и будет перенаправлен на простое/демо (без каких-либо других дополнений к URL-адресу). Действующее правило выглядит так:
RewriteRule ^/GCSWEB/(.*) https://somewebsite.com/demo/? [R=301,L]
Работает над новым правилом весь день без успеха. Я даже пытался удалить существующее правило, думая, что может быть какой-то конфликт, но это не помогло.
Удивительный! Это сработало. Цените помощь! – Bribo
Привет @Bribo, если этот или любой ответ решил ваш вопрос, пожалуйста, рассмотрите [его принятие] (http://meta.stackexchange.com/q/5234/179419), щелкнув галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. – NuTTyX