Как удалить '/ public' из URL, используя htaccess для локального хоста и хост-сервера?
Я использую Zend Framework 2 на xampp. Я создал файл .htaccess в корне ('htdocs / zendtest / .htaccess'), который имеет следующий код,
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} $ [NC]
RewriteCond %{HTTP_HOST} !/zendtest
RewriteRule ^(.*)$ /zendtest/public/$1 [R=301,L]
мой'Zentest / государственные / .htaccess' код есть,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
'Zentest / государственный / index.php' код:
<?php
/**
* This makes our life easier when dealing with paths. Everything is relative
* to the application root now.
*/
chdir(dirname(__DIR__));
// Setup autoloading
require 'init_autoloader.php';
// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
когда я открываю «localhost / zendtest» в браузере, он переходит в «localhost / zendtest / public». Я хочу удалить «public» из URL, установив только htaccess (который будет работать как на localhost, так и на онлайн-сервере), без используя виртуальный хост. как я могу это сделать? (нет файла index.php в каталоге localhost / zendtest /)
-Спасибо.
Редактировать:
Обновить:
каталог:
У меня есть следующий .htaccess (согласно ответу Рави Таплияла) в папке «zendtest /» (в папке «zendtest» нет файла zendtest / index.php). Все остальные структуры папок такие же, как 'каталог' изображение.)
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /zendtest/
RewriteCond %{REQUEST_URI} !/public [NC]
RewriteRule ^(.*)$ public/$1 [L]
но теперь при открытии localhost / zendtest / в браузере возникает следующая проблема:
ПОСТАНОВИЛИ:
Мне пришлось внести некоторые изменения, как показано на следующем рисунке (.htaccess был хорош):
и достиг цели