Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151

Создание человекопонятных url

09.11.2012, 17:13. Показов 4080. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу сайт на php. Страницы открываются в виде page.php, если файл показывает только одну страницу, либо page.php?id=1, если много.
Хочу сделать так, чтобы site.ru/page.php в строке адреса выглядело, как site.ru/page/, a site.ru/page.php?id=1 выглядело site.ru/page/1.
Нашел способ добавления команд в .htaccess, получилась Ошибка 500.
Помогите сделать корректные и красивые ЧПУ.
Заранее благодарен за ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2012, 17:13
Ответы с готовыми решениями:

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

создание URL
Пишу скрипт который иммитирует работу браузера. Когда в строку $host поместить начальный адрес (например www.cyberforum.ru) то скрипт...

Создание красивых url
Я не знаю, как это правильно называется, но суть в том, чтобы пользователь, переходя по ссылке, видел example.com/forum/ в адресной строке...

36
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
11.11.2012, 17:34  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Илья Федин Посмотреть сообщение
Germanarih, Да, там исключения
Вы могли бы подробнее объяснить, что означают эти строки исключений. Из руководства не совсем понятно. Более человеческим языком. И как сделать, если я хочу какую-то конкретную папку или файл поставить в исключения?

И ещё один вопрос. Не влияют ли эти манипуляции на видимость файла robots.txt для поисковых роботов?
И ещё... Робот индексирует по прежнему адреса вида: site.ru/dictionary.php?id=1 или он теперь ходит на страницы по адресу site.ru/dictionary/1, то есть, как пользователи?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2012, 17:38
Илья Федин, почитайте получше про директиву RewriteCond. Эти две директивы
Цитата Сообщение от Germanarih Посмотреть сообщение
Code
1
2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
означают построчно
Если запрашиваемой папки не существует
Если запрашиваемого файла не существует
0
 Аватар для Илья Федин
887 / 353 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
11.11.2012, 17:39
Цитата Сообщение от Germanarih Посмотреть сообщение
И ещё... Робот индексирует по прежнему адреса вида: site.ru/dictionary.php?id=1 или он теперь ходит на страницы по адресу site.ru/dictionary/1, то есть, как пользователи?
Все
Цитата Сообщение от Germanarih Посмотреть сообщение
И ещё один вопрос. Не влияют ли эти манипуляции на видимость файла robots.txt для поисковых роботов?
Нет
Цитата Сообщение от Germanarih Посмотреть сообщение
Вы могли бы подробнее объяснить, что означают эти строки исключений
Я рад бы, но думаю вам сейчас KOPOJI напишет

Добавлено через 46 секунд

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
Илья Федин,
:D
Разве не Germanarih, ?

0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2012, 17:43
Цитата Сообщение от Germanarih Посмотреть сообщение
И ещё один вопрос.
нет, не влияют, если вы не закрывали txt файлы
Цитата Сообщение от Germanarih Посмотреть сообщение
И как сделать, если я хочу какую-то конкретную папку или файл поставить в исключения?
есть соответствующие директивы - FilesMatch/Files и т.п., аналогично и для папок
Цитата Сообщение от Germanarih Посмотреть сообщение
Робот индексирует по прежнему адреса вида:
если сайт раскручен и уже хорошие позиции у не-ЧПУ ссылок, то необходимо прописывать 301 редирект (перманентный) - по умолчанию 302 стоит. Если не раскручены старые адреса, то это не нужно

Добавлено через 1 минуту
Цитата Сообщение от Илья Федин Посмотреть сообщение
Я рад бы, но думаю вам сейчас KOPOJI напишет
уже написал, выше смотрите
1
 Аватар для Илья Федин
887 / 353 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
11.11.2012, 17:45
Цитата Сообщение от KOPOJI Посмотреть сообщение
уже написал, выше смотрите
Видел, а вы бы лучше обращение исправили
0
11.11.2012, 17:46

Не по теме:

А там не надо ничего исправлять, я Вам писал относительно этого:

Цитата Сообщение от Илья Федин Посмотреть сообщение
Germanarih, Просто установите код который я написал в предыдущем посте, там исключения чтобы на файлы и папки не действовало

0
 Аватар для Илья Федин
887 / 353 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
11.11.2012, 17:49
Цитата Сообщение от KOPOJI Посмотреть сообщение
относительно этого
А у меня там что не так?
0
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
11.11.2012, 17:53  [ТС]
Code
1
2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Если запрашиваемый файл или папка не существует, то выполняется условие RewriteRule? Что это означает на практике? Ведь на сервере только и есть файлы и папки. Объясните.
0
 Аватар для Илья Федин
887 / 353 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
11.11.2012, 18:00
Цитата Сообщение от Germanarih Посмотреть сообщение
Если запрашиваемый файл или папка не существует, то выполняется условие RewriteRule?
Да
Цитата Сообщение от Germanarih Посмотреть сообщение
Что это означает на практике?
Что если файл существует то реврайта не будет
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2012, 18:05
Илья Федин, то, что
Code
1
2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Не спасет от того, чтобы игнорировались картинки и стили. И если будет к примеру такой код в .htaccess

Code
1
2
3
4
5
6
7
RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
 
RewriteRule ^dictionary/?$ index.php [L]
RewriteRule ^dictionary/([A-z]+)/?$ index.php?lang=$1 [L]
А в самом скрипте index.php будет такой к примеру

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">
    <link href="./css/styles.css" rel="stylesheet" type="text/css" />
    <title>Title</title>
  </head>
  <body>
    <img src="./image.jpg" alt="" />
    <?=isset($_GET['lang']) ? 'Выбран язык: ' . htmlspecialchars($_GET['lang']) : 'Язык не выбран';?>
  </body>
</html>
Так вот, если ввести адрес site.ru/dictionary - то картинки будут нормально отображаться и стили тоже подключатся. Стоит же только добавить слэш - т.е. ввести адрес вида site.ru/dictionary/ или site.ru/dictionary/ru - то сразу же стили и картинки перестанут быть видны. Хотя, заметьте, директивы на проверку существования прописаны. Чтобы они заработали - необходимо заменить адреса на пути от корня, т.е. скрипт должен быть заменен на такой
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">
    <link href="/css/styles.css" rel="stylesheet" type="text/css" />
    <title>Title</title>
  </head>
  <body>
    <img src="/image.jpg" alt="" />
    <?=isset($_GET['lang']) ? 'Выбран язык: ' . htmlspecialchars($_GET['lang']) : 'Язык не выбран';?>
  </body>
</html>
0
 Аватар для Илья Федин
887 / 353 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
11.11.2012, 18:11
Цитата Сообщение от KOPOJI Посмотреть сообщение
Не спасет от того, чтобы игнорировались картинки и стили
Почему? Вы же сами написали в теме ЧПУ!

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
то сразу же стили и картинки перестанут быть видны
Это не реврайт виноват, а кривой путь, не будет видно потому что браузер считает это за папку
0
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
11.11.2012, 18:14  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Так вот, если ввести адрес site.ru/dictionary - то картинки будут нормально отображаться и стили тоже подключатся. Стоит же только добавить слэш - т.е. ввести адрес вида site.ru/dictionary/ или site.ru/dictionary/ru - то сразу же стили и картинки перестанут быть видны. Хотя, заметьте, директивы на проверку существования прописаны.
Именно так у меня и происходит!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2012, 18:16
ну так подправьте пути именно так как подправил я))
0
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
11.11.2012, 21:37  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну так подправьте пути именно так как подправил я))
Сделаю и отпишусь.
0
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
13.11.2012, 23:49  [ТС]
Цитата Сообщение от Germanarih Посмотреть сообщение
Сделаю и отпишусь.
Всё сделал! Поменял пути всех ссылок и изображений! Всё прекрасно работает! Большое спасибо!

Возник ещё один вопрос.
Борюсь с возможными дублями страниц.
Хочу сделать, чтобы следующие варианты главной страницы переадресовывались.

www.site.ru/index (здесь не знаю, как правильно поступить. Переадресовывать страницу /index или index.php. Ведь у меня уже работает ЧПУ. Подскажите пожалуйста).
www.site.ru
site.ru/index

Чтобы они все вели на site.ru.
0
52 / 52 / 9
Регистрация: 09.10.2009
Сообщений: 984
14.11.2012, 15:39
Germanarih,
Я дал тут ответ , человеку , возможно вам поможет .
Настройка ЧПУ в .htaccess
0
 Аватар для Germanarih
3 / 3 / 0
Регистрация: 14.03.2011
Сообщений: 151
14.11.2012, 17:05  [ТС]
Цитата Сообщение от SATMAN Посмотреть сообщение
Germanarih,
Я дал тут ответ , человеку , возможно вам поможет .
Настройка ЧПУ в .htaccess
Мне кажется, что там не совсем то, что мне нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2012, 17:05

Парсинг URL и создание контроллера
Пишу свой фреймворк. У меня такая структура проекта, что все контроллеры заканчиваются на ...Controller, например SomeController. Есть...

Создание чистого URL на PHP
Добрый день! Поднят серв в учебных целях через docker-compose: Nginx + Php+ mysql. Я в учебных целях пишу mvc-application без...

Создание собсвенных URL в Yii
Я хочу в своём приложении создать правила для URL, чтобы некая произвольная ссылка обрабатывалась, как controller/action/id. Например, URL...

Создание дружественных адресов URL
Добрый день Пытаюсь на сайте с помощью mod_rewrite переделать URL. RewriteRule ^(+)/?(*)/?(*)/?(*)/?$...

Программное создание ярлыков на URL страницы
Помогите, пожалуйста! Нужно чтобы Билдер создавал на рабочем столе ярлыки на определенные сайты


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru