.htaccess в подпапке - PullRequest
       3

.htaccess в подпапке

3 голосов
/ 11 мая 2011

Основной сайт работает под управлением WordPress с .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Я собираюсь создать приложение CodeIgniter в подкаталоге site.com/online/ Если просто добавить файл CI .hta в подпапку, это не будет работать.CI .htaccess:

RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt|img|styles|js)
RewriteRule ^(.*)$ /index.php?/$1 [L]

Можно ли объединить два файла .htaccess или сделать что-то с .htaccess в подпапке CI?Спасибо.

UPD. Спасибо за ответы, я перепробовал все варианты и в итоге переместил проект на поддомен.

Ответы [ 3 ]

3 голосов
/ 11 мая 2011

Во-первых, ваш .htaccess должен выглядеть следующим образом:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} !^GET\s/+online/ [NC]
RewriteRule . /index.php [L]
</IfModule>

#Then add this for CI handling in the same .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !index\.php [NC]
RewriteRule ^online/(.*)$ online/index.php?/$1 [L,NC]

Затем вы можете удалить (или переименовать) .htaccess в подпапке online.

1 голос
/ 11 мая 2011

Вы устанавливаете AllowOverride ?Согласно документам вам нужно разрешить FileInfo переопределения для mod_rewrite.

1 голос
/ 11 мая 2011

Попробуйте это для codeigniter .htaccess:

RewriteEngine on
RewriteBase /online
RewriteCond $1 !^(index\.php|robots\.txt|img|styles|js)
RewriteRule ^(.*)$ /index.php?/$1 [L]

В противном случае все запросы к этой подпапке будут перенаправлены вниз в wordpress.

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