Локальное поведение Apache Redirect по сравнению с сервером - PullRequest
0 голосов
/ 04 октября 2019

Я недавно настроил apache локально, чтобы я мог протестировать некоторые правила перезаписи и перенаправления. Проблема, с которой у меня возникают проблемы, заключается в следующем:

RewriteCond %{HTTP_HOST} ^domain([A-Za-z0-9\.]*)\.website.com$
RewriteRule ^([^/]+)/subdomain(.*)$  /p/$1/subdomain$2 [PT]

На моем локальном компьютере RewriteCond - %{HTTP_HOST} ^localhost$.

Допустим, кто-то входит domain.server.website.com/parameter/subdomain. Моя цель - направить их на domain.server.website.com/p/parameter/subdomain. На локальном, используя мое условие localhost и тот же RewriteRule, он работает как задумано. Localhost/parameter/subdomain становится localhost/p/parameter/subdomain, что я и хочу. Но на сервере это не работает. /p/ не вставляется в URL, и поэтому я получаю 404. Непосредственное размещение domain.server.website.com/p/parameter/subdomain, моего желаемого URL, в строке URL не приводит к 404, так что это не проблема для страницы.

Есть. что-то не так с моим синтаксисом, или apache ведет себя по-другому на локальном компьютере?

...