.htaccess без www на www Перенаправление URL Удаляет любой путь URL за пределами базового URL - PullRequest
2 голосов
/ 13 января 2011

Когда посетители идут, скажем,:

http://website.com/dir/dir2/file.html

Моя перезапись очищает путь за базовым URL и перенаправляет их на домашнюю страницу с www. спереди:

http://www.website.com/

Как я могу предотвратить зачистку и отправку посетителей на домашнюю страницу вместо запрошенного URL? К вашему сведению, указанные URL-адреса действительно существуют.

Thanx!

Ответы [ 3 ]

3 голосов
/ 13 января 2011

К вашему сведению, это для сайта Magento.

В .htaccess, после

#RewriteBase /magento/

После него я разместил на своих линиях:

RewriteCond %{HTTP_HOST} !^www\.website\.com$ [NC]
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301]

И это работает.Папа с детьми тоже правильно понял, просто не знаю, для чего была вторая строка.

3 голосов
/ 13 января 2011

Включите информацию о файле / пути в конце перезаписи следующим образом:

RewriteCond     %{HTTP_HOST}   !^www\.website\.com [NC]
RewriteCond     %{HTTP_HOST}   !^$
RewriteRule     ^/(.*)         http://www.website.com/$1 [L,R]
1 голос
/ 14 ноября 2014

Большинство людей нуждаются в RewriteBase наборе, поэтому попробуйте:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^(?:www\.your-live-domain\.com|staging\.domain\.com)$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule .* http://www.your-live-domain.com/$0 [L,R=301]

Используйте 301, чтобы сделать его постоянным

...