Я решил настроить VPS для моего сайта, который работает на Apache 2.
Первое, что я хочу, чтобы мой сайт загружался правильно, когда он набирается с помощью www. поддомен (технически ли www поддомен?).
Мне все равно, удаляет ли он www. или он просто работает с ним в URL, просто остается неизменным. Однако это не так, потому что если я наберу [1].com
, он будет перенаправлен на [2].com
. Круто и хорошо. Но если я наберу [1].com/index
, он останется на [1].com/index
. И в обоих случаях сайт работает отлично.
Однако есть еще одна действительно странная проблема, в которой, если я наберу [1].com/folder/page
, он перенаправляется на [2].comfolder/page
. Это происходит ТОЛЬКО на одной странице, на другом, почти идентичном сценарии, работает нормально. Я попытался настроить его просто, я настроил настройки DNS для своего домена так, чтобы A с хостом www указывал на IP-адрес моего веб-сайта, а мои настройки VirtualHost в apache2.conf имели ServerAlias [1].com
. Раньше у меня был файл .htaccess с содержимым, чтобы смягчить его, но даже после удаления, просто чтобы проверить его, ничего не изменилось, поэтому я оставил его таким на данный момент.
Вторая проблема заключается в том, что я хочу сделать так, чтобы, если кто-то печатал [1].com/page
, он направлял их на [1].com/page.html
. Сначала это было достаточно просто, в настоящее время в моем .htaccess есть следующее:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
Поверь мне, это не единственный, который я пробовал. И да, я проверял, что сам RewriteEngine, а также файлы .htaccess работают нормально. Пока все хорошо, все работает отлично, но подождите секунду. Если у меня есть файл, расположенный в [2].com/folder.html
, и у меня также есть папка с именем [2].com/folder/
, то, если я наберу [2].com/folder
, он попытается отправить меня в индекс папки (что в настоящее время запрещено в текущей конфигурации сервера) , Я пробовал миллион разных кодов перезаписи, и все либо не работают, либо имеют точно такую же проблему. Хуже всего то, что ранее код также был ужасно непоследовательным, например, [2].com/folder
послал бы меня на [2].com/folder/
, но если бы я пошел на [2].com/folder2
, то он отправил бы мне на [2].com/folder2.html
!
В этот момент я просто запутался. Может быть, я чего-то здесь упускаю, но я имел дело с таким количеством глупостей и отсутствием прогресса (а также пробовал миллионы решений, ни одно из которых не сработало). У кого-нибудь есть совет? Не стесняйтесь спрашивать меня об фрагментах кода, частях в файлах .conf и т. Д., Если вы считаете, что они необходимы.
PS: [1] равно www.website
и [2] равно website
. Видимо, мой пост слишком похож на спам, чтобы его можно было отправить