Htaccess ModRewrite для CodeIgniter с припаркованным / перенаправленным доменом - PullRequest
0 голосов
/ 06 октября 2010

У меня такая ситуация:

  • хостинг находится на maindomain.com
  • othersite.com припаркован на maindomain.com
  • htaccess используется для перенаправления всех запросов на othersite.com в подпапку: / site-othersite /
  • Я хочу использовать CodeIgniter на othersite.com, но есть некоторые каталоги и файлы на othersite.com, для которых не требуется перенаправление CodeIgniter.
  • home.php - моя главная страница CodeIgniter.

Я попытался объединить обычный ModRewrite, который я использую для своих припаркованных доменов, с тем, что я нашел в вики CodeIgniter, но у меня возникли проблемы.

Пример: Я не хочу, чтобы CodeSgniter обрабатывал othersite.com/demo/ или othersite.com/robots.txt. У меня есть это:

# Redirect various urls to subfolders of the format: /site-thename/

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?othersite\.com
RewriteCond %{REQUEST_URI} !^/site-othersite/
RewriteCond %{REQUEST_URI} !^/demo/
RewriteCond %{REQUEST_URI} !^robots\.txt

Rewriterule ^(.*)$ /site-othersite/home.php?/$1 [L]

Все отлично работает для установки CodeIgniter. За исключением попыток сделать так, чтобы demo / и robots.txt были 'ouside' CodeIgniter, не работает.

А ModRewrite мастера там с предложениями? Спасибо!

1 Ответ

0 голосов
/ 06 октября 2010

Разобрался. Это должно быть обработано в двух правилах:

# Redirect various urls to subfolders of the format: /site-thename/

RewriteEngine On

# Handle pages and directories that should not go through CodeIgniter.
RewriteCond %{HTTP_HOST} ^(www\.)?othersite\.com
RewriteCond %{REQUEST_URI} !^/site-othersite/
RewriteCond %{REQUEST_URI} ^/demo/ [OR]
RewriteCond %{REQUEST_URI} ^/robots.txt

Rewriterule ^(.*)$ /site-othersite/$1 [L]


# Handle CodeIgniter URLs.
RewriteCond %{HTTP_HOST} ^(www\.)?othersite\.com
RewriteCond %{REQUEST_URI} !^/site-othersite/

Rewriterule ^(.*)$ /site-othersite/home.php?/$1 [L]
...