Привет, ребята! Попросили внести изменения в простой сайт, по сути на HTML/CSS, но с элементами PHP - поэтому для локальной работы поставил Open Server. Разобрался до этапа, что сайт открывается.
Но кликаю на внутреннюю ссылку, например "Контакты" = 'contacts' – получаю ошибку 403. В логе отладки Apache вижу следующее:
applying pattern '.*\\.php$' to uri 'contacts', referer: http://stretto.loc/
RewriteCond: input='D:/OpenServer/domains/stretto.loc/public_html/contacts.php' pattern='-f' => matched, referer: http://stretto.loc/
rewrite 'contacts' -> 'D:/OpenServer/domains/stretto.loc/public_html/contacts.php', referer: http://stretto.loc/
add per-dir prefix: D:/OpenServer/domains/stretto.loc/public_html/contacts.php -> D:/OpenServer/domains/stretto.loc/public_html/D:/OpenServer/domains/stretto.loc/public_html/contacts.php, referer: http://stretto.loc/
strip document_root prefix: D:/OpenServer/domains/stretto.loc/public_html/D:/OpenServer/domains/stretto.loc/public_html/contacts.php -> /D:/OpenServer/domains/stretto.loc/public_html/contacts.php, referer: http://stretto.loc/
internal redirect with /D:/OpenServer/domains/stretto.loc/public_html/contacts.php [INTERNAL REDIRECT], referer: http://stretto.loc/
(20023)The given path was above the root path: [client 127.0.0.1:62943] AH00127: Cannot map GET /contacts HTTP/1.1 to file, referer: http://stretto.loc/
По последним двум строкам понимаю, что кажется там лишний "/" в начале. А также строки 4 и 5 делают лишнее – сначала лишний раз добавляя к файлу путь, а потом убирая, видимо оставляя "/".
Вот .htaccess:
adddefaultcharset utf-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
Этот синтаксис тёмный лес для меня (и Open Server я поставил впервые)...
Что мне нужно поменять в .htaccess или, может, в настройках сервера, чтобы ссылки правильно отрабатывались?
Заранее спасибо!