Я видел несколько других тем по этому поводу, но по какой-то причине в моем конкретном случае решения не работают.RewriteCond% {REQUEST_FILENAME}! -d не работает
Вот .htaccess
DirectoryIndex index.php index.html index.htm
Options +FollowSymLinks -Multiviews -Indexes
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?page=$1
желаемый эффект, что index.php будет загружать какие-либо страницы запрашивается в ГЭТ (/ события-дневник = index.php? Страница = события-дневник) & это нормально работает.
Однако у меня есть некоторые реальные каталоги, которые должны быть доступны, например,/администратор/
выше .htaccess работает прекрасно как хотелось бы на моем домашнем компьютере MAMP, он отлично работает на моем Amazon Micro, так ли не будет работать на сервере развертывания ipage.com
При вводе/администрировании он будет перенаправлен на корневой индекс. При вводе /admin/index.php это работает, но вы должны указать на страницу index.php
Я не могу понять, когда это, кажется, не обращая внимания на -d
UPDATE:
индекс .php содержит следующую PHP
if(!isset($_GET['page'])){
header("Location: home");
exit;
}
$line=page_content($_GET['page']);
к сведению, что эта функция отлично на 2 других серверах, я не понимаю, почему он будет вести себя по-разному на 3-й.
Что происходит, когда вы вводите: 'example.com/admin /' в браузере? – anubhava
перенаправляет на example.com/home, который является index.php? Page = home – RiquezJP
Попробуйте использовать '-MultiViews' с прописными буквами' V'. – Croises