Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Замена адреса ссылки / 25 сообщений из 27, страница 1 из 2
12.07.2013, 11:27
    #38329010
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Страницы сайта открываются по адресам напр.:
http://site.ru/index.php?filter=motherboard
http://site.ru/index.php?filter=monitor

А как сделать, чтобы открывались как:
http://site.ru/motherboard.html
http://site.ru/monitor.html

Читал, что как-то через htaccess делается, но так и не понял, как именно.
...
Рейтинг: 0 / 0
12.07.2013, 11:39
    #38329046
mhx
mhx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Гуглите mod_rewrite
...
Рейтинг: 0 / 0
12.07.2013, 15:27
    #38329557
krevedko13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
А чего вы хотите этим добиться ?

Вариант раз: пользователь тыкает в http://site.ru/my-page.html , а php получает http://site.ru/index.php?filter=my-page
Вариант два: обратная совместимость со старыми адресами при смене движка\переезде\торнадо ...
...
Рейтинг: 0 / 0
12.07.2013, 17:28
    #38329764
lynatik50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Насколько знаю можно сделать это в htaccess как то так


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
RewriteEngine on

RewriteCond %{REMOTE_HOST} ^mysubdomain1.* [OR]
RewriteCond %{REMOTE_HOST} ^mysubdomain2.* [OR]
RewriteCond %{REMOTE_HOST} ^mysubdomain3.*
RewriteRule ^(.*)$ ^mysubdomain_public_html/

RewriteCond %{REMOTE_HOST} ^mysubdomain4.*
RewriteRule ^(.*)$ ^mysubdomain4_public_html/ 



подробнее можно тут глянуть http://www.beget.ru/art9 или гугл)))
...
Рейтинг: 0 / 0
12.07.2013, 18:32
    #38329850
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
krevedko13А чего вы хотите этим добиться ?
Гугл не хочет индексировать мои адреса типа http://site.ru/index.php?filter=motherboard. Создаю такую же страницу с адресом http://site.ru/motherboard.html - сразу в индекс попадает.
...
Рейтинг: 0 / 0
12.07.2013, 18:33
    #38329852
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
krevedko13Вариант раз: пользователь тыкает в http://site.ru/my-page.html , а php получает http://site.ru/index.php?filter=my-page
Да, вот такой вариант вроде.
...
Рейтинг: 0 / 0
12.07.2013, 19:34
    #38329902
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Нашёл Пример 2: создание дружественных адресов URL

Код: plaintext
1.
RewriteEngine on
RewriteRule ^articles/([^/]+)/?$ display_article.php?articleId=$1 [L]

Выше приведенное правило RewriteRule берет запрашиваемый URL в формате http://www.example.com/articles/my-article/ и преобразует его в URL вида http://www.example.com/display_article.php?articleId=my-article.

----------------------------------------------------------------------------------------------

Пробую свою ссылку переделать так:
http://site.ru/category/12-pc.html?filter_filter_1=all в http://site.ru/category/12-pc/all

Код: plaintext
1.
RewriteEngine on
RewriteRule ^category/12-pc/([^/]+)/?$ category/12-pc.html?filter_filter_1=$1 [L]

Но выдаёт 404 ошибку, когда http://site.ru/category/12-pc/all пробую открыть.
Где же тут ошибка.
...
Рейтинг: 0 / 0
12.07.2013, 21:03
    #38329974
слэш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Концевой слэш
...
Рейтинг: 0 / 0
12.07.2013, 21:15
    #38329981
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Капец. Подумал мертвый топ откопали, нет: сегодня, 11:27

Не мое, конечно дело, но вся эта имитация materialized path похожа на гэ.

Торнадо переезжало и снесло ваш дейта-центр? Выкидывайте значения, оставляйте 1 ключ и хэш. Получите вместо транслитерированной дребедени, которая в одночасье может превратиться в чудовищную кашу - гуманный и роботам приятный адрес вида: www.example.com?103454-Тема-про-как-не-надо-делать#мессага-08234
...
Рейтинг: 0 / 0
12.07.2013, 21:47
    #38330010
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
слэшКонцевой слэш
http://site.ru/category/12-pc/all/
то же самое
...
Рейтинг: 0 / 0
12.07.2013, 22:52
    #38330051
слэш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Значит в условии переадресации попробуй поставить слэш спереди
...
Рейтинг: 0 / 0
12.07.2013, 22:55
    #38330055
слэш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
И кстати, ты уверен что страница .html у тебя существует?
...
Рейтинг: 0 / 0
13.07.2013, 08:45
    #38330164
подмена
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
слэшИ кстати, ты уверен что страница .html у тебя существует?Ну да. Конечно существует.

я уже перепробовал:
Код: plaintext
1.
2.
3.
RewriteRule ^category/12-pc/([^/]+)/?$ category/12-pc.html?filter_filter_1=$1 [L]
RewriteRule ^/category/12-pc/([^/]+)/?$ /category/12-pc.html?filter_filter_1=$1 [L]
RewriteRule ^/12-pc/([^/]+)/?$ /12-pc.html?filter_filter_1=$1 [L]
RewriteRule ^12-pc/([^/]+)/?$ 12-pc.html?filter_filter_1=$1 [L]
...
Рейтинг: 0 / 0
13.07.2013, 11:26
    #38330188
krevedko13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
подменаkrevedko13Вариант раз: пользователь тыкает в http://site.ru/my-page.html , а php получает http://site.ru/index.php?filter=my-page
Да, вот такой вариант вроде.

Набросал тут койчаво
Код: sql
1.
2.
3.
4.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ index.php?filter=$1&%{QUERY_STRING} [L]



Существующие файлы и папки отдает как есть, несуществующие html-файлы преобразует по указанному ранее типу, все GET-параметры сохраняются.
С вас печенька.

URL для проверки http://127.0.0.1/motherboard.html?asd=freebsd&search=intel&kill=allpeople
В index.php положите var_dump($_GET);
...
Рейтинг: 0 / 0
13.07.2013, 22:31
    #38330350
слэш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
авторНу да. Конечно существует.
ты абсолютно уверен что она у тебя не .php а именно .html ? 14556481
+ на сервере включен mod_rewrite и в корневом .htaccess прописано
Код: php
1.
2.
RewriteEngine on
RewriteBase /



автор все GET-параметры сохраняются. С вас печенька.
[QSA] - http://aleksey.nemiro.ru/blog/programming/php/mod_rewrite_flags.html
c тебя печенька! ;)
...
Рейтинг: 0 / 0
13.07.2013, 22:48
    #38330355
krevedko13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
слэшавтор все GET-параметры сохраняются. С вас печенька.
[QSA] - http://aleksey.nemiro.ru/blog/programming/php/mod_rewrite_flags.html
c тебя печенька! ;)
Красиво, в мемориз.
...
Рейтинг: 0 / 0
03.12.2013, 12:03
    #38487150
ХерГерд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
народ помогите плиз, как на пхп замутить:

1) http://site.ru/xxxx.php -> http://site.ru/?pb=485

2) http://site.ru/folder1/.../folderX/xxxx.php -> http://site.ru/?dp=245

заранее спасибо
...
Рейтинг: 0 / 0
03.12.2013, 12:34
    #38487203
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
ХерГердкак на пхп замутить:

1) http://site.ru/xxxx.php -> http://site.ru/?pb=485
В нужных местах xxxx.php воткнуть
Код: php
1.
2.
header("Location: http://site.ru/?pb=485");
die;

По второму примеру - аналогично. А вообще, такие вещи обычно через .htaccess делаются.
...
Рейтинг: 0 / 0
03.12.2013, 12:41
    #38487214
ХерГерд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
Спасибо Добрый человек!
Да, но мне нужно было именно вариант на пхп...
...
Рейтинг: 0 / 0
03.12.2013, 18:02
    #38487878
ХерГерд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
vkleХерГердкак на пхп замутить:

1) http://site.ru/xxxx.php -> http://site.ru/?pb=485
В нужных местах xxxx.php воткнуть
Код: php
1.
2.
header("Location: http://site.ru/?pb=485");
die;

По второму примеру - аналогично. А вообще, такие вещи обычно через .htaccess делаются.

Блин не то совсем... наверное я не правилно обьяснил....
мне нужно при помощи пхп скрыть реальное размещение файла....
тоесть есть файл php или html по физическому адресу: http://site.ru/xxxx.php а надо что бы он был доступен по адресу такого типа http://site.ru/?pb=485

Заранее спасибо!
...
Рейтинг: 0 / 0
03.12.2013, 21:07
    #38488032
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
ХерГердмне нужно при помощи пхп скрыть реальное размещение файла....Эммм... из индексного файла инклюдить требуемый. Не то?
ХерГердесть файл php или html по физическому адресу: http://site.ru/xxxx.php а надо что бы он был доступен по адресу такого типа http://site.ru/?pb=485 Мож
Код: php
1.
DirectoryIndex xxxx.php

подойдет?
...
Рейтинг: 0 / 0
04.12.2013, 00:22
    #38488200
ХерГерд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
vkleХерГердмне нужно при помощи пхп скрыть реальное размещение файла....Эммм... из индексного файла инклюдить требуемый. Не то?
ХерГердесть файл php или html по физическому адресу: http://site.ru/xxxx.php а надо что бы он был доступен по адресу такого типа http://site.ru/?pb=485 Мож
Код: php
1.
DirectoryIndex xxxx.php

подойдет?

ну это ведь для .htacsses а не php, и то в данном случае тогда по идеи нарушиться работа остальных index.php работающих по умолчанию на апаче...
неужели нет функции в пхп чтобы браузеру подменить адрес???
ок, а если это делать в .htacsses то тогда поидее через правило, вот только как???
а в идеале конечно нужно решение на пхп... =(((
...
Рейтинг: 0 / 0
04.12.2013, 00:46
    #38488208
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
ХерГердну это ведь для .htacsses а не php, и то в данном случае тогда по идеи нарушиться работа остальных index.php работающих по умолчанию на апаче...Это попытка ответить на Ваш вопрос, выдранный из общего контекста решаемой Вами задачи. Про остальные скрипты и про index.php в вопросе ничего не сказано. Да и их может и не быть вовсе. Попробуйте описать задачу полностью.


ХерГерднеужели нет функции в пхп чтобы браузеру подменить адрес???Вы это как себе представляете? В частности, тот момент, где вебсервер вызывает серверный скрипт. Вариантов, насколько я знаю, немного - это явное указание файла в URL (после преобразований модулями реврайта, алиаса, прокси и т.п.) или использование значения из DirectoryIndex как дефолтового.

Ссылка вида http://site.ru/?pb=485 будет обработана индексным файлом. Выше я уже предлагал инклюдить нужный файл из индексного. Чем именно этот вариант, реализованный полностью на PHP, Вас не устраивает?


ХерГердок, а если это делать в .htacsses то тогда поидее через правило, вот только как???RewriteCond <условие, если необходимо>
RewriteRule <что> <на что менять> <ключи по необходимости>
Ссылка на мануал .
...
Рейтинг: 0 / 0
04.12.2013, 03:27
    #38488271
ХерГерд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
ХерГерднеужели нет функции в пхп чтобы браузеру подменить адрес???Вы это как себе представляете? В частности, тот момент, где вебсервер вызывает серверный скрипт. Вариантов, насколько я знаю, немного - это явное указание файла в URL (после преобразований модулями реврайта, алиаса, прокси и т.п.) или использование значения из DirectoryIndex как дефолтового.

Ссылка вида http://site.ru/?pb=485 будет обработана индексным файлом. Выше я уже предлагал инклюдить нужный файл из индексного. Чем именно этот вариант, реализованный полностью на PHP, Вас не устраивает?

[/quot]
ок, может я чего не так сделал...
я вставил код предложенный вами в самом начале кода файла http://site.ru/xxxx.php
при обращении в браузере к http://site.ru/xxxx.php в строке вижу http://site.ru/?pb=485 но по факту отображается index.php
при обращении в браузере к http://site.ru/?pb=485 в строке вижу http://site.ru/?pb=485 но по факту отображается index.php
...
Рейтинг: 0 / 0
04.12.2013, 10:53
    #38488476
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена адреса ссылки
А как должно быть, когда обращения идут без указания файла? В задаче Вы об этом ничего не говорите. Или, другими словами, руководствуясь какими критериями index.php должен определить, продолжать ли выполнение себя или завернуть ветвь выполнения кода в xxxx.php?
ХерГердя вставил код предложенный вамиНе припоминаю, чтоб предлагал какого-либо готового кода. include предлагал использовать, не более того.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Замена адреса ссылки / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]