Я учусь создать свою собственную PHP MVC Framework. Вот мой URL-адрес: http://www.mvc.dev/public/controller/methold/params
Для получения текущего URL-адреса я использую следующую функцию. Следующая функция возвращает public/test1/test2/test3
. Я не хочу, чтобы public
показывала.
function parseUrl(){
if( isset($_GET['url']) ){
echo $_GET['url'];
}
}
.htaccess Делает URI в строку запроса
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /public
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
Пожалуйста, помогите, как я могу удалить public
из public/test1/test2/test3
.
Создайте этот.htaccess в своем DocumentRoot
(уровень выше public
):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
Затем вы можете использовать ссылки как http://www.mvc.dev/controller/methold/params
echo
какую-либо предоставленную пользователем информацию непосредственно в браузер (например,echo $_GET['url'];
) без ее правильного экранирования.