исключение htaccess для поддоменов - PullRequest
0 голосов
/ 10 января 2012

У меня есть эта строка в моем файле htaccess: RewriteRule (. *) Index.php Это ловит все запросы, отправленные на мой сайт domain.com Теперь я создал поддомен blog.domain.com и получаю внутреннюю ошибку сервера. Как я могу добавить blog.domain.com как исключение в htaccess.

Это весь мой файл htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} .*/http-bind
RewriteRule (.*) /http-bind [L]
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.raw|/[^.]*)$  [NC]
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} !/google3ce18567a119af4.html
RewriteRule (.*) index.php

1 Ответ

0 голосов
/ 10 января 2012

Добавьте следующую строку в начало блока RewriteCond.

RewriteCond %{HTTP_HOST} !^blog\.domain\.com
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.raw|/[^.]*)$  [NC]
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} !/google3ce18567a119af4.html

Это пройдет, только если запрос не для blog.domain.com и удовлетворяет всем вашим текущим условиям.

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Это гарантирует, что запрос не является существующим файлом или каталогом. Это проще поддерживать, чем занести в белый список определенные ресурсы (например, google3ce18567a119af4.html, / ow_updates / и т. Д.).

...