Я недавно настроил 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 ведет себя по-другому на локальном компьютере?