Как отличить имя каталога от имени пути в файле .htaccess. (php) - PullRequest
0 голосов
/ 21 апреля 2020

Добрый день. У меня небольшая проблема с моим файлом .htaccess. На моем веб-сайте у меня есть каталог root как «Веб-сайт» и административная панель как «Веб-сайт / серверная часть».

Я создал htaccess для направления к «index. php» в каждой папке в зависимости от запроса. т.е. сайт / about будет перенаправлять на индекс. php в папку root, и я также хочу, чтобы website / admin / dashboard перенаправлял на индекс. php внутри серверной папки.

Проблема в том, что я хочу, чтобы папка администратора была "бэкэнд", а путь был "сайт / администратор" для единообразия в структуре моей папки. Например, если я хочу иметь профиль. php внутри внутренней папки, но я хочу, чтобы путь, который будет отображаться в браузере, был admin / profile.

У меня были ошибки с этим. Либо я получаю «объект не найден», либо меня перенаправляют на localhost / dashboard. Мой вопрос: это достижимо

Это структура моей папки

Мой сайт

root_folder

  index.php 

  .htaccess

  backend

      index.php

      profile.php (for admins)

Мой файл .htaccess показан ниже


Options -Indexes -Multiviews +FollowSymLinks

RewriteEngine On

#RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(?!admin/)(.+)$ /index.php?u=$1 [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/admin(.+)$ /backend/index.php?u=$1 [NC,QSA,L]
</IfModule> 

Когда я изменяю / admin на / backend или когда я создаю папку администратора с индексом. php это также работает. Тем не менее, я хочу иметь доступ к файлам внутри внутренней папки, пока браузер показывает «admin» в URL.

Спасибо.

...