перезапись URL с использованием субдомена возвращает "Этот сайт не может быть достигнут" - PullRequest
0 голосов
/ 22 сентября 2018

Я, должно быть, упускаю что-то очень очевидное здесь.Я пытаюсь переадресовать пользователей, которые переходят на поддомен, например product1.mywebsite.com, на www.mywebsite.com/products/?p=product1, где «product1» - это переменная, которую я передаю на страницу.

Я читал различные посты на этом сайте и другие, показывающие, как это легко, но это ПРОСТО НЕ РАБОТАЕТ !!!Я использую CentOS 6.10 с Plesk, если это поможет

Вот моя последняя попытка:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mywebsite\.com [NC]
RewriteRule ^(.*)$ https://www.mywebsite.com/pruducts/?p=$1 [L,R=301]

Это похоже на все сообщения, которые я прочитал, но я что-то упустил.Файл .htaccess находится в корневой папке сайта.Я даже пытался поместить его в папку над ним, но все равно не радуюсь.

Как будто сайт ищет поддомен и не находит его (потому что он не существует), когда он должен просто взятьслово, используемое в поддомене (в данном случае product1) и использующее его как переменную на странице mywebsite.com/pruducts/.

Нужно ли что-то включать в Plesk?

1 Ответ

0 голосов
/ 22 сентября 2018

Условие явно гласит, что следующее правило должно применяться только в том случае, если имя хоста имеет ничего перед "mywebsite.com" ...

Вторая проблемаваш подход заключается в том, что вы не можете получить доступ к самому имени хоста в правиле переписывания, как вы, очевидно, пытаетесь.


Вместо этого попробуйте что-то вроде этого:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(\w+)\.mywebsite\.com$ [NC]
RewriteRule ^ https://www.mywebsite.com/pruducts/?p=%1 [R=301]

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования динамическогоконфигурационные файлы (".htaccess").Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера.Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

...