Возможно, это довольно простое решение, но я искал пару дней и не могу его найти, оооочень ...
Я занимаюсь разработкой веб-сайта на ОСХ коробка (Лев).Рабочий сайт находится в / Users / username / Sites, и я добавил этот каталог в /etc/apache2/users/username.conf.Я могу просматривать страницы без проблем.
НО ... Я использую CodeIgniter и хочу удалить index.php из URL.Это должно быть довольно простой задачей для mod_rewrite.Я добавил файл .htaccess в каталог (и установил AllowOverride All в моем файле конфигурации выше).После поисков в поисках я обнаружил, что мне нужно установить Options + FollowSymLinks (я сделал это в файле .htaccess).
Проблема в том, что он, кажется, переписывает URL-адрес с localhost / ~ username / to / Users /имя пользователя / Sites.Проблема заключается в том, что в этой форме браузер просто пытается ЗАГРУЗИТЬ файл index.php, а не выполнять его.Это ухудшается, когда ссылки /Users//Sites/index.php/controller/function, потому что эти файлы не существуют ... CodeIgniter предназначен для вступления во владение в index.php, но только если он выполняется.
Так что я не могу удалить Options + FollowSymLinks, потому что это приводит к ошибкам Access Forbidden, и я не могу оставить это по причинам, указанным выше.Каталог / Library / WebServer / Documents работает нормально.OS X, кажется, не возражает FollowSymLinks к этому каталогу, вероятно, потому что это установлено как DocumentRoot в httpd.conf
Мой httpd.conf - фондовый Lion, за исключением AllowOverride All на / Library / Webserver / Documents,mod_rewrite включен.
Мой username.conf:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Мой файл .htaccess в каталоге сайта:
Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 !^(index\.php|static|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
Очевидно, я могу разработать в / Library/ WebServer / Documents, но я бы предпочел сделать это в моих локальных файлах.