Вопрос начинающего .htaccess (связанный с codeigniter) - PullRequest
1 голос
/ 07 мая 2011

Я впервые настроил CodeIgniter для настольной версии веб-сайта, и у меня возникли небольшие проблемы после изменения AllowOverride с None на All, чтобы работали следующие правила .htaccess:

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|m|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Проблема в том, что у меня есть мобильная версия веб-сайта, расположенная по адресу m.domain.com, которая извлекает свое содержимое из домена domain.com/m.Когда AllowOverride был 'None', это работало отлично.Теперь, когда я изменил его на «Все» и реализовал вышеупомянутый файл .htaccess - поддомен больше не работает, и я получаю html-файл «Тестовая страница для сервера Apache».что может быть причиной проблемы ?!Спасибо!

1 Ответ

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

Почему вы разрешаете AllowOverride All только для одного файла htaccess, когда вы можете встроить его в конфигурацию vhost и вернуться к AllowOverride None, где вам кажется, что все работает лучше?

На заметке AllowOverride All isто, что вы обычно пытаетесь не делать.

Пример:

<VirtualHost *:80>
    ServerAlias yourdomain.com
    DocumentRoot /var/www/
        <Directory "/var/www/folder">
                RewriteEngine On
                RewriteRule XXXXXX
        </Directory>
        <Directory "/var/www/another">
                RewriteEngine On
                RewriteRule XXXXXX
        </Directory>
</VirtualHost>
...