Пытаюсь сделать единую точку входа на сайт. Имеется такая структура:
/
-public
--index.php
.htaccess
Так как данный проект строится на виртуальном хосте, прописал в httpd-vhosts.conf следующее:
<VirtualHost *:80>
DocumentRoot "d:/wamp64/www/phptest.loc/public"
ServerName phptest.loc
ErrorLog "logs/phptest.localhost-error.log"
CustomLog "logs/phptest.localhost-access.log" common
<Directory "/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Файл
index.php:
<?php
echo 'Requested URL = ' . $_SERVER['QUERY_STRING'];
Содержимое файла
.htaccess:
AddDefaultCharset utf-8
Options -Indexes
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
Проблема в том, что при запросе, к примеру,
phptest.loc/smth?param=1 должно выводить
smth?param=1, а выводит -
public/smth¶m=1. Во-первых, откуда появляется значок непечатаемых символов и пропадает часть слова param, а во-вторых, почему выводится имя директории public, которую я указал как корневую директорию сайта?