Сделайте индекс.html по умолчанию, но разрешить индекс.php для посещения при вводе



У меня есть следующая строка в моем .файл htaccess:



DirectoryIndex index.html index.php


каждый раз, когда я иду в индекс.php он берет меня, чтобы индексировать.формат html. Можно ли разрешить оба, но оставить индекс.html значение по умолчанию для посещающих пользователей www.domain.com?

467   5  

5 ответов:

по умолчанию DirectoryIndex имеет значение:

DirectoryIndex index.html index.htm default.htm index.php index.php3 index.phtml index.php5 index.shtml mwindex.phtml

Apache будет искать каждый из вышеуказанных файлов по порядку и обслуживать первый, который он находит, когда посетитель запрашивает только каталог. Если веб-сервер не находит в текущем каталоге файлов, соответствующих именам в директиве DirectoryIndex, то в браузере будет отображен список каталогов, показывающий все файлы в текущем каталоге.

порядок должен быть DirectoryIndex index.html index.php // по умолчанию индекс.HTML-код

ссылки:здесь.

если вы используете WordPress, теперь есть фильтр крюк, чтобы решить эту проблему:

remove_filter('template_redirect', 'redirect_canonical'); 

(поместите это в свою тему functions.php)

это говорит WordPress не перенаправлять index.php вернуться к корневой странице, но сидеть там, где она есть. Вот так,index.html можно назначить страницу по умолчанию в .htaccess и может работать вместе index.php.

Я согласен с принятым ответом @TheAlpha, Apache читает целевые файлы DirectoryIndex слева направо ,если первый файл существует, apche обслуживает его, а если нет, то следующий файл служит индексом для каталога. Так что если у вас есть следующая директива:

DirectoryIndex file1.html file2.html

Apache будет служить / файл.html как индекс, вам нужно будет изменить порядок файлов, если вы хотите установить /file2.html как индекс

DirectoryIndex file2.html file1.html

вы также можете установить файл index с помощью RewriteRule

RewriteEngine on

RewriteRule ^$ /index.html [L]

RewriteRule выше перепишет вашу домашнюю страницу в / index.html переписывание происходит внутренне так http://example.com/ покажет вам содержимое Index.формат html.

RewriteEngine on
RewriteRule ^(.*)\.html$ .php%{QUERY_STRING} [L]

поставить эти две строки в верхней части .файл htaccess. Это будет видно .html в URL для вашего .PHP-страница.

RewriteEngine on
RewriteRule ^(.*)\.php$ .html%{QUERY_STRING} [L]

использовать это для показа .php в URL для вашего .HTML-страница.

индекс DirectoryIndex.индекс HTML-код.htm по умолчанию.индекс НТМ.индекс php.php3 индекс.индекс phtml, который.индекс php5.shtml mwindex.phtml

у него нет никаких средств? возможно, Вам просто нужно добавить вот так!

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
</IfModule>

enter image description here

Comments

    Ничего не найдено.