И вот последнее, о чем забыл упомянуть в предыдущем сообщении.
Интересно было бы узнать, должно ли так и быть, что если в корневом каталоге имеется папка, например: "admin", имя которой совпадает с именем файла страницы, размещенном также в корневом каталоге, например: "admin.php", то при вводе в браузере адреса http://domain[dot]ru/admin/ открывается не страница "admin.php", а страница сервера Apache, отображающая дерево каталогов. Не допустимо, чтобы имя папки и файла совпадало? Или я сделал что-то не так, как нужно?
Добрый день!
Прочитал вашу статью о "Про ЧПУ и не только..". До этого просмотрел в Сети несколько десятков страниц различных сайтов по этой теме. Но на большинстве из них контент скопирован из таких же страниц. Из содержания страниц не трудно понять, что авторы такого контента имеют слабое представление по этой теме, а те, кто имеет некоторое представление, не могут изложить так, чтобы хоть что-то было понятно другим.
В вашей же статье материал о ЧПУ изложен так, что он интересен, доступен для понимания. Очевидно, что вы программист высокого уровня, к тому же обладающий хорошими методическими способностями.
Весь материал, предложенный вами, я проверил на работоспособность. Как бывает в редких случаях, все работает на 100%.
На моем сайте скрипт в файле index.php был написан для использования адресов вида:
http://domain[dot]ru/?pg=page
После того, как создал по вашему примеру файл .htaccess, а в файле index.php применил строки из приведенного вами скрипта, стало возможным использовать адреса вида:
http://domain[dot]ru/page/
Во избежании недовольства поисковых роботов, в файле index.php оставил и прежние строки скрипта, сформировав условие, позволяющее альтернативно использовать и адреса прежнего вида:
http://domain[dot]ru/?pg=page
В карте сайта изменил старые ссылки на новые. Прошло недели две после загрузки на сервер обновленных файлов. Вчера проверил индексацию страниц. Google изменил старые ссылки страниц моего сайта на новые. Позиции страниц в поисковике даже повысилась.
Единственное, что привело к затрате времени после перехода на предложенную вами технологию, это пришлось в страницы сайта, на которых имеются рисунки, внести изменения, к примеру:
src="images/link.gif" изменить на src="/images/link.gif"
то есть, перед именем папки images добавить слеш, иначе рисунки не отображаются.
А также в теге файла header.php:
link rel="stylesheet" type="text/css" href="style.css"
изменить style.css на /style.css, то есть добавить слеш. Иначе style.css страницами не используется.
Интересно бы узнать, должно ли это так и быть, или я сделал что-то не так.
Большое вам спасибо.
Спасибо, soulner за полезную информацию в отношении разрешения экранов по приведенной ссылке, и особенно за скрипт, который очень для меня интересен. Конечно, не реально и бессмысленно создавать стили под все разрешения экранов, но для трех самых популярных 1366x768, 1024x768, 1920x1080 сделать может быть и следует. Этими стилями занялся из-за шрифта основного текста страниц сайта. Большого выбора нет, для разрешения 1024x768 использую:
Доброго времени суток,
имеется скрипт PHP, использующий Javascript для определения ширины разрешения экрана. В скрипте PHP не выполняется условие, поэтому в переменную $css не записывается значение 1024.css. Может быть, кто-нибудь из профессионалов подскажет, возможно ли результат выполнения Javascript - 1024 из $width записать в какую-либо переменную и, если возможно, то каким образом это сделать.
Здравствуйте, этот скрипт позволяет копировать файлы из одной папки в другую. Мне желательно для этого скрипта написать функцию, например, fcopy() и поместить ее в библиотеку функций для ее вызова при необходимости. Но для этого нужно убрать из скрипта условие:
if($file != '.' && $file != '..')
Пробовал от него избавится и заменить его строками:
$file != '.'; && $file != '..';
но это абсурдно, поэтому появляется сообщение об ошибке о неверном аргументе в функции copy.
Может кто-нибудь из профессионалов подскажет, что нужно сделать, или предложит альтернативный вариант.
Здравствуйте!
Приведите, пожалуйста, пример, в котором имеется возможность посредством скрипта РНР произвести в текстовом файле замену одного слова (выражения) на другое слово (выражение).
Пробовал использовать: file, open, replace, но так ничего и не получилось.
Здравствуйте!
Спасибо за внимание и рекомендацию.
Относительно служебных символов, используемых в строках PHP.
В конце первой строки (заголовка) файла страницы выполнен переход на новую (вторую) строку. Без этого не обойтись. В строке массива этот переход соответствует служебному символу \n. Присутствовал там и символ возврата курсора \r, так как без выполнения в скрипте хотя бы одной из указанных ниже строк, условие if($title=="Драйверы") не выполнялось:
и условие также будет выполняться.
При выводе строк в окне браузера служебные символы \r и \n не отображаются. Символ \ в строке заголовка отсутствовал. Он связан с кавычками. При выводе строк PHP кавычка в окне браузера отображается служебным символом \"
Нужно понимать, что при выполнения скрипта вывод строк PHP происходит не в текстовый редактор (Блокнот, Notepad++), а в окно браузера, в котором нет кнопки, чтобы в строках отобразились все служебные символы. Текстовые редакторы требуются лишь для написания текста и скриптов.
Благодарю за участие в решении моей задачи. Ваше предложение проверил, но результат, как и ожидал, был прежний - проверка условия не выполнялась. Может быть задачу я изложил не достаточно понятно. Дело в том, что не было проблемы с выводом строки заголовка. Строка выводилась нормально посредством echo $title;, если заблокировать в скрипте строку: // if($title=="Драйверы"). Задача заключалась в том, чтобы условие if($title=="Драйверы") выполнялось, и только после этого происходил бы вывод на экран echo $title;
Сегодня попробовал посредством функции str_replace() "почистить" строку "Драйверы" в массиве $title=$title[0];
Дело в том, что при загрузке текста в массив в строках обычно появляются соответствующие символы \r \n \ После "очистки" строки "Драйверы" в массиве $title=$title[0]; он стал соответствовать условию if($title=="Драйверы"), поэтому условие стало выполняться. Теперь скрипт работает правильно.
Здравствуйте!
Написал простой скрипт для создания переменной, содержащей первую строку - заголовка страницы - Драйверы. Текст строки Драйверы выводится на экран посредством echo $title; Но при задании условия if($title=="Драйверы") строка Драйверы на экран не выводится. Хотя, если в первой строке файла страницы вместо текста Драйверы помещены цифровые символы, например, 1234567890, то они по условию на экран выводятся. Не могу понять, в чем тут дело. Что нужно изменить в условии if($title=="Драйверы"), чтобы на экран выводилась строка Драйверы?
Здравствуйте!
Попробовал использовать эту функцию. 'Europe/Moscow' правильно выводит поясное время GMT+3. Но чиновники РФ перевели время на час назад, то есть перевели Москву на GMT+4. А на этот час не известно, можно ли в этой функции ввести поправку.
Возможно для функции есть параметры для столиц других государств, где время GMT+4, но в описании функции есть только 'Europe/Moscow' и 'Europe/Lisbon'.
Проблема еще в том, что на сайте имеется раздел "Отзывы" и вместе с текстом отзыва в файл записывается $date=(date("d-m-y, H:i:s")); Поскольку сервер находится в поясе Гринвича, то и в файле отзывов записывается время по Гринвичу. Как в этом случае применить date_default_timezone_set( 'Europe/Moscow' );?
Очень Вам признателен и благодарен. Мне, чтобы самому бы написать такой вариант без ошибок, потребовалось бы очень много времени. Потому что в четырех Руководствах по РНР, которые имею, приводятся лишь простейшие примеры скриптов, которые далеки от скриптов, применяемых на практике при создании движков.