Uman

Uman
Рейтинг
41
Регистрация
07.03.2012
LEOnidUKG:
Мухахаха. Спасибо поржал. Буквофобия что-ли?

Нет, просто я люблю оптимизацию и ищу лучший способ решения проблемы.

siv1987

define( 'ROOT_PATH', $_SERVER['DOCUMENT_ROOT'] );

<?php include( ROOT_PATH . '/page.php'); ?>

Скажи пожалуйста что куда вписывать. Эти две строчки взаимосвязаны как-то? Я с PHP-вообще не знаком, пойми правильно. Может через годик подтянусь. :)

Дополнил спустя пару минут.

Если логически порассуждать, то раз сервер может соединять все PHP-файлы своими могучими возможностями, то почему он не может прописать каким-то PHP-функциям базовый адрес? На иностранных форумах ответа не нашлось. Ребята, если не вы, то кто мне поможет? :)

Колитесь что и куда прописывать! :D

[umka], Сергей, благодарю. Этот материал требует длительного ознакомления, а код <?php include($_SERVER['DOCUMENT_ROOT'] . '/page.php'); ?> выходит громоздким.

Быть может есть способ прописать что-то в htaccess, чтобы сервер вылавливал все функции <?include();?> и задавал им "базу" на корень сайта?

siv1987:
Вообщето достаточно было просто удалить ту строку которую я указал, и не нужны никакие исключения.

Блин, ты абсолютно прав. Сейчас повторно протестил твой (первый) вариант и он заработал без моих костылей, чудеса... Походу просто в ненужный момент у меня опять закэшировалась Opera и поэтому не сработало.

siv1987:
Вот это тоже убрать RewriteCond %{REQUEST_FILENAME} !-d
если не поможет, спрашивайте у своего хостера почему не работает и какие директивы нужно отрубить.

siv1987, огромнейшее тебе спасибо за помощь, дай Б-г тебе всех благ в личной жизни!

Все твои советы пригодились и заработали после того, как я почистил кэш браузера, то есть:

1) С помощью Options -Indexes отключился список файлов;

2) С помощью DirectorySlash Off убрался слэш (заработало после чистки кэша браузера)

но этого не хватило, поскольку по прежнему выбивало ошибку...

Заработало после того, как я вписал исключения для каждого случая в отдельности.

Вот как я решил один из случаев, со скриншота выше:

3) RewriteRule ^download download.php (то есть ^имя каталога и имя файла - одно и то же имя)

После этого всё заработало!

siv1987, если знаешь как упростить 3-й) пункт, чтобы одним правилом охватить несколько таких исключений, то напиши пожалуйста, чтобы довести код до ума.

Ещё один раз спасибо! :D

siv1987:
Для начала убрать листинг файлов. Потом добавить DirectorySlash Off

Друг спасибо тебе огромное!

Листинг я убрал с помощью Options -Indexes, как ты и сказал - это получилось.

А вот DirectorySlash Off никак не подействовал. В чём я мог ошибиться?

Пробовал уже и так и экась...

Вот код моего файла .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Options -Indexes
DirectorySlash Off

А вот, что выдаёт браузер при введённой ссылки на файл www.mysite/download (он же www.mysite/download.php по сути):

Помогите люди добрые 🍾

Всего: 155