У меня следующая структура
-www
\-subfolder
В www
У меня есть основной сайт index.php
.
В подпапке у меня есть своего рода интерфейс администратора, и там яЯ хотел бы иметь еще index.php
для интерфейса администратора.
В настоящее время мои запросы из /subfolder/index.php
перенаправляются на www/index.php
, и в основном страницы моего интерфейса администратора не отображаются.
Это мой .htaccess
файл:
RewriteEngine On
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ index.php?lang=$1&page=$2 [L]
Вы можете мне помочь?Я пробовал несколько вариантов в других ответах, но, поскольку я не настолько продвинут, как веб-разработчик, я не смог заставить их работать.
@ TerryE, Извините, если я выдал себя за грубую.
Я использую локальную настройку для тестирования.Я установил сервер Vertrigo, который дает мне сервер Apache. Работает на ОС Windows7.Сервер установлен в папке Program files \ VertrigoServ \ Apache.
Моя общая папка - www.Там у меня есть мое основное определение сайта.,Доступ к сайту осуществляется локально через 127.0.0.1/index.php
или 127.0.0.1/
У меня есть локализация сайта, поэтому URL создаются как /$lang/$page
например <a href=" / <?php echo $lang; ?> / home "> HOME </a>
В index.php
основного сайта у меня естьследующее:
$page = trim( ( isset( $_GET[ 'page' ] ) ? $_GET[ 'page' ] : 'home' ), '/' );
$lang = trim( ( isset( $_GET[ 'lang' ] ) ? $_GET[ 'lang' ] : 'en' ), '/' );
$langs = array( 'en', 'fr', 'ru' );
И по этим данным я могу открыть страницы следующим образом:
include 'html/'. $lang . '/' . $page . '.php';
Все страницы моего основного сайта лежат в www/html/$lang/
$_SERVER['REQUEST_URI'])
дает /en/home
для страницы HOME.
127.0.0.1/en/home
РАБОТАЕТ
Вся навигация отлично работает для основного сайта.
Однако я создал интерфейс администратора, которыйлежит в папке www / admin - на один уровень ниже в www.
И там у меня нет никакой локализации.У меня просто есть EN как язык.Итак, в верхней части index.php в папке администратора у меня снова
$page = trim( ( isset( $_GET[ 'page' ] ) ? $_GET[ 'page' ] : 'home' ), '/' );
Однако здесь навигация выглядит следующим образом <a href=/admin/home"> HOME </a>
, и после этого я получаю построить страницы вindex.php в папке администратора выглядит следующим образом:
include 'html/ . $page . '.php';
страницы лежат в www/admin/html
Это не работает вообще.Всякий раз, когда я нажимаю домашнюю ссылку в интерфейсе администратора, меня перенаправляют на мой основной сайт (несуществующую страницу).Если я добавлю RewriteRule ^subfolder/ - [L]
в .htaccess, я получу HTTP 404 NOT Found error
.
127.0.0.1/admin/home
НЕ РАБОТАЕТ.Также нет никакой другой навигации изнутри администратора.Спасибо за вашу готовность и терпение, чтобы помочь мне!