Сложный вопрос .htaccess - PullRequest
       3

Сложный вопрос .htaccess

0 голосов
/ 17 марта 2011

У меня следующая структура каталогов:

Домашняя страница: /domains/example.com/public_html/public/index.php

Ниже приведен скрипт .htaccessэто позволяет www.example.com показывать домашнюю страницу, которая работает нормально:

RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]

RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]

RewriteRule ^public/.*$ /public/index.php [NC,L]

Теперь я хочу добавить блог, доступный через поддомен, и каталог, подобный этому: blog.example.com и www.example.com / blog .

Индекс блога находится здесь: /domains/example.com/public_html/blog/index.php

Что мне добавить в htaccess, чтобы включить это?

Я пытался:

RewriteCond %{REQUEST_URI} ="blog"
RewriteRule ^.*$ /blog/index.php [L]

, но индекс или любой другой тестовый файл не может быть просмотрен.blog.example.com выдает «настоящую» ошибку 404, а www.example.com/blog отображает нашу «дружественную» страницу 404, которую использует Zend.Что я делаю не так?

1 Ответ

0 голосов
/ 17 марта 2011

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

Было бы лучше, если бы вы просто переписали один URI со статусом 301 на другой.

RewriteCond %{HTTP_HOST} = ^www\.somedomain\.de$
RewriteRule /blog/(.*) http://blog\.somedomain\.de/$1 [L,R=301]

RewriteCond %{HTTP_HOST} = ^blog\.somedomain\.de$
RewriteRule ^.*$ /blog/index.php [L]

Скажите, сработало ли это для вас. Я думаю, что второе правило не должно конфликтовать с первым из-за RewriteCond. Во всяком случае, я просто пытаюсь помочь. Я не проверял это. Если это не сработает с первой попытки, пожалуйста, не голосуйте за меня :)

мир!

РЕДАКТИРОВАТЬ: В этом примере я использовал blog.somedomain.de в качестве единственно возможного адреса для вашего блога. somedomain.de/blog/ будет перенаправлен на blog.somedomain.de

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...