Назад | Перейти на главную страницу

Невозможно заставить приложение использовать htaccess, если он не указывает на index.php

Мне трудно заставить одно из моих приложений использовать файл htaccess внутри своего пути, если я не укажу непосредственно на index.php в браузере

Я установил на свой компьютер ubuntu:

Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily

Я установил на свой компьютер apache:

Server version: Apache/2.4.12 (Ubuntu)
Server built:   Jul 24 2015 15:59:11

Я попытался добавить следующий код в свой /etc/apache2/apache2.conf

<Directory /var/www/html/pss/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Я тоже пробовал вот так:

<Directory /var/www/html/pss/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Как видите, этот код указывает на местоположение /var/www/html/pss. Внутри моего pss folder у меня есть html папка. Внутри этой html-папки у меня есть .htaccess и index.php файлы.

Если я укажу в браузере на http: // локальный / pss / html однако это не сработает, если я перейду к http: //localhost/pss/html/index.php кажется, работает

Я добавил в свой htaccess инструкция: DirectoryIndex index.php. Это не сработало. Вот мой .htaccess файл:

SetEnv APPLICATION_ENV development
DirectoryIndex index.php
php_value session.auto_start 0
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Он сидит на /var/www/html/pss/html/.htaccess

Из того, что я вижу, он использует htaccess, когда я перехожу на url / index.php, но не когда я просто перехожу на url сам по себе

Если вам нужна дополнительная информация, дайте мне знать.

Важно отметить, что директива AllowOverride, которую вы добавили в свой файл apache2.conf, контролирует смогут ли пользователи изменять поведение веб-сервера с помощью файла .htaccess.

Установив для него значение None, вы, по сути, предотвратите влияние вашего .htaccess! Скорее всего, вы захотите установить для него значение «Все» или, например, «Индексы», поскольку вы пытаетесь изменить параметры индексирования.

Наконец, вы также можете установить эти параметры непосредственно в файле конфигурации Apache2, если у вас есть доступ к веб-серверу. В основном файл .htaccess используется на общих веб-хостах, где пользователь не имеет доступа к конфигурации веб-сервера.