2014-05-09 2 views
1

Быстрый вопрос для вас, ребята. Основная структура файла моего веб-сайта заключается в следующем:htaccess RewriteEngine вызывает проблемы с подкаталогом

www.example.com

/

index.php

otherFiles.php

./directory

index.php 

В настоящее время, если вы должны были ввести в example.com/directory он будет перенаправлять на моей странице 404. Вы должны ввести example.com/directory/index. Мое предположение заключалось в том, что для каждого каталога по умолчанию была index с расширением .php или .html. Я предполагаю, что я был неправ, так что я установил, что справочника .htaccess следующим образом:

DirectoryIndex index.php 

Но, нет прогресса. Есть что-то, чего я не хватает? Чтобы уточнить, мне нужен URL-адрес example.com/directory, чтобы открыть индексный файл в этом каталоге. Вот мой универсальный .htaccess:

ErrorDocument 404 http://www.example.com/404 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Редактировать

Итак, я закомментировать команды 3 Rewrite в моем Htaccess и теперь моя проблема решена. Проблема в том, что теперь расширяются расширения файлов php. Есть ли способ включить правила перезаписи без вмешательства в индексные страницы по умолчанию? Или проблема в другом месте?

ответ

1

Похоже, что 404 связано с каталогом /directory.php не существует. Поскольку ваш RewriteRule выполняется с условием, что он не является реальным файлом (%{REQUEST_FILENAME} !-f), правило ошибочно применяется для каталогов, пытаясь добавить .php. Это легко исправить с !-d:

ErrorDocument 404 http://www.example.com/404 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Теперь, когда каталог как /directory запрашивается, будет использоваться по умолчанию DirectoryIndex и не переписан не будет.

+0

По какой-то причине это работает только для каталога и другого корневого php-файла, другие страницы вызывают 404 ошибки – samrap

+0

Nevermind, по какой-то причине потребовалось много времени для обновления. Благодаря! – samrap

Смежные вопросы