Перенаправлен на домашнюю страницу при удалении www. из URL
-
16-10-2019 - |
Вопрос
Скажи, мой сайт: www.example.com
У меня одна страница: www.example.com/contactus
Если я удалю "www. из вышеупомянутого URL -адреса: example.com/contactus
Это перенаправляет меня на домашнюю страницу. Почему ??
Оформить следующее изображение .htaccess:
Какое решение для этого ??
Какие изменения я должен внести в .htaccess
Решение
Ваш HTACCESS довольно сложно читать, но, кажется, ничто не перенаправляет пользователя, я думаю, что это ваш Magento Baseurl, который делает это.
Пробовали ли вы добавить следующий код в HTACCESS в перенаправление на www. на этом уровне?
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Другие советы
Есть настройка в System-> Configuration-> Web-> Options-> Auto-Redirect на базовый URLАнкет Установите это на «нет».
Личное мнение: эта обстановка является большим источником проблем, особенно при запуске нескольких веб -сайтов из одного и того же экземпляра Magento. Я всегда отключаю это.
Это единственный вопрос, который я нашел в Google в соответствии с этим вопросом.
Вот мое решение для NGINX в качестве обратного прокси для Apache. Я использую Magento 1.8.0.0 как многосайт. У меня также установлен Multi Domain SSL. Я отключил его и попытался сделать перенаправление с помощью конфигурации .htaccess (как предложил Сандер Мангель), но в итоге я получил перенаправление петли на https: // pages.
Если nginx настроен как обратный прокси для Apache, попробуйте редактировать файлы nginx vhost, как это:
server {
listen 80;
listen 443 ssl;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
ssl_certificate /path/to/your/ssl/domain.crt;
ssl_certificate_key /path/to/your/ssl/domain.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
server {
listen 80;
listen 443 ssl;
server_name domain.com;
ssl_certificate /path/to/your/ssl/domain.crt;
ssl_certificate_key /path/to/your/ssl/domain.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
.... // the rest of config goes here
}
Затем перезапустите nginx (например, etc/init.d/nginx перезапуск)
Это. 301 перенаправление должно работать на каждой странице, перенаправляемой www на WWW
Спасибо,
Шариф