— этот форум работает с 03 октября 2005 года. ️🔥️🔥
|
|
|
|
(#2)
|
 |
06.12.2006
|
 |
|
|
|
xakep.ru там всё подробно описано, к сожалению щас инета нет, так что подробно не могу сказать..но там делаеццо через регулярные выражения...щас гляну мож остался пример...
относительно твоего примера эт будет выглядеть так
Цитата:
RewriteEngine On
RewriteRule ^ ([0-9]+)/ ([0-9]+)/ ([0-9]+).html top.php?cat=$1&sort_top=$2&sort=$3
|
но учти, если у тя будет например http://localhost/top.php?cat=9&sort=0
то всё сдвинеццо, и ещё этот пример делает цифры, если нужны буквы то будет ([a-zA-Z]+) мона поставить любоей не пробельный символ, эт будет ([\w]+) помоему....естественно строчку нужно писать в .htaccess
P.S и хватит уже грить про цитирование поисковиками..цитируют они одинаково, им без разници по каким ссылкам идти, они грузят страницу, выдерают ссылки и идут по ним..ну сам посуди, вот форум IPB и даже твой, не состоит из ЧПУ а по запросам находиццо на первых местах как собсна и другией форумы и проекты...ЧПУ тут не причём, всё дело в ссылках, например те нужна 20 новость, ссылка выглядит так index.php?news=20, вот поисковик её просканил и потом выдаёт такую ссылку, допустим ты удалил 10 новость, и если движок сделан нормально то 20 новость так и должна остаццо 20-й а не сдвинуццо на 19-ю как и все остальные, т.е поисковик будет выдавать ссылку на совсем другую новость, до того естественно пока он заново твой сайт не просканит, так что хоть у тя тут ЧПУ хоть обычные урлы, толку ноль, всё зависит от системы, вот тут форум сделан пральна...моя Smalta CMS к сожелению нет..хотя поисковики тоже неплоха её сканят...
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#3)
|
 |
06.12.2006
|
 |
|
|
|
нашел - http://www.xakep.ru//magazine/xa/091/138/1.asp
Цитата:
Q: Подскажи, каким образом можно замаскировать использование скрипта на сервере. Для меня это очень актуально: нужно, чтобы клиенты, как и прежде, обращались к нему, но при этом не догадывались, что имеют дело не с динамической структурой, а со статической страницей.
A: Верный ход в твоем случае — воспользоваться возможностями файла .htaccess и модулем Mod Rewrite. К счастью, последний установлен практически на любом хостинге, даже самом дешевом. Допустим, что скрипту передаются два параметра: первый задает тип авторизации, а второй — числовой идентификатор пользователя. URL-адрес такой страницы будет примерно следующим: www.site.com/login.pl?type=password&id=31337. Чтобы спрятать вызов скрипта достаточно добавить в .htaccess 2 следующие строчки:
RewriteEngine On
RewriteRule ^ ([a-zA-Z]+)/ ([0-9]+).html login.pl?type=$1;id=$2
Готово. Теперь страница легко отзовется по адресу: www.site.com/password/31337.html. Теперь комментарии по коду. Первая строчка включает механизм переписывания URL (подрубает модуль Mod Rewrite). Вторая более сложная: сначала с помощью регулярного выражения она бьет адрес на 2 составляющие (в переменную $1 записывается часть адреса до слеша «/», а в переменную $2 заносится номер, стоящий до .html), после чего преобразует URL в нужный нам вид. Просто внимательно посмотри на нее — и все станет ясно.
Единственная сложность заключается в том, чтобы постоянно отслеживать URL. Если об этом не позаботиться, то настоящий URL обязательно засветится во время перехода, осуществляемого самим скриптом. Сложность, впрочем, легко разрешима — нужно лишь написать простую функцию для преобразования URL и использовать ее для любой навигации по сайту.
Вообще, интересная штука этот Mod Rewrite. Можно молниеносно огородить себя от скрипткидиссов и любителей искать уязвимые сценарии через Google. Едва ли кому-то придет в голову заморачиваться со статическим URL и тем более пытаться завалить сайт с помощью дежурных подстановок — ‘1, ../../../, |id| и т.д. Но даже если кто-то и решится, то ничего у него не выйдет.
|
ЗЫ: про поисковики я тебе потом напишу.
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#4)
|
 |
06.12.2006
|
 |
|
|
|
Н Е Р А Б О Т А Е Т
Блин запарил он меня 500-той ошибкой.
Ну вот у меня ссылка блин:
http://localhost/portfolio.php?photo_id=3&start=0
я пишу ему суке:
Код:
RewriteEngine On
RewriteRule ^ ([a-zA-Z]+)/ ([0-9]+).html portfolio.php?photo_id=$1;&start=$2
он мне выдает 500-тую, вежливо (и вероятно про себя) посылает на ...
пищет в лог ошибок - RewriteRule: bad flag delimiters
делиметерсы ему мои не нравюццо... хех чо удумал, мои-то пилять дилимитерсы?!
PS: а чо такое дилимитерсы? :huh:
Последний раз редактировалось metallphilin; 06.12.2006 в 12:37.
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#5)
|
 |
06.12.2006
|
 |
|
|
|
Цитата:
|
Сообщение от metallphilin
а чо такое дилимитерсы? :huh:
|
Вообще, делиметр - это разделитель. А подробнее - вот цитата из Лингво, может поможет:
Цитата:
delimiter
разделитель символ (пробел, табуляция, запятая, скобки, ключевые слова и т.п.) или строка, служащие для разделения между собой каких-либо элементов (данных в файле; записей в базе данных; операторов, имён, выражений или параметров в программе и т.д.). Наиболее часто в качестве разделителей используется запятая или символ табуляции, в таких случаях говорят о comma-delimited file или о tab-delimited file
|
..........................
Хочешь изменить мир?
Начни с себя!
Нужен качественный перевод с английского?
Заходите, поможем в нашем Бюро переводов
|
Happy ferret
Регистрация: 15.04.2006
Сообщений: 2,331 шт.
Карма: 1259 бал.
|
|
|
|
|
(#6)
|
 |
06.12.2006
|
 |
|
|
|
смущает мя символ ^, вообще в регулярных выражениях он показывает претензию к началу строки..я в принципе делал, у мя работало, но мне не понравилось, т.к при заходе в папку у мя глючили картинки, т.к они не привязаны к корню..
попробуй снести пробел после слеша "/"
Кстати неисключено что функция отключена на сервере и On тут не поможет..., на izmuroma работало вроде.
кстати на это смарел?!
Цитата:
500-я ошибка может быть вызвана следующими причинами:
1. неверный синтаксис .htaccess
2. файл .htaccess записан в формате Windows, а должен быть записан в формате UNIX
|
а то я смарю ты на локальном гоняешь..
..........................
smalta.net
Последний раз редактировалось Rembo; 06.12.2006 в 14:35.
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#7)
|
 |
06.12.2006
|
 |
|
|
|
мля Сань, ну ты отжог, я чёт сначала не заменил епть блин
"http://localhost/portfolio.php?photo_id=3&start=0"
у тя photo_id=3 а 3 это цифра, она не входит в инетрвал от а до z и от А до Z, по этому нада использовать ([0-9]+) и пробел всё же сотри...
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#8)
|
 |
06.12.2006
|
 |
|
|
|
один хрен не пашет ничо... 500 и хоть убейся вот лог ошибок:
Цитата:
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:33 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:34 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:34 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
[Wed Dec 06 15:00:34 2006] [alert] [client 127.0.0.1] z:/home/s7.ru/www/.htaccess: RewriteRule: bad flag delimiters
|
и т.д. соб-но.
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#9)
|
 |
06.12.2006
|
 |
|
|
|
Я в это глубоко никогда не лез, но вот что например у меня прописывалось при настройке Nuke в .htaccess
Цитата:
#ENCYCLOPEDIA
RewriteRule ^dic([1-9][0-9]*)all([[a-zA-Z0-9]*).* modules.html?name=Encyclopedia&op=terms&eid=$1<r =$2
RewriteRule ^term([1-9][0-9]*)-([1-9][0-9]*).* modules.html?name=Encyclopedia&op=content&tid=$1&p age=$2
RewriteRule ^term([1-9][0-9]*).* modules.html?name=Encyclopedia&op=content&tid=$1
RewriteRule ^dic([1-9][0-9]*).* modules.html?name=Encyclopedia&op=list_content&eid =$1
RewriteRule ^encyclopedia.* modules.html?name=Encyclopedia&file=index
#FAQ
RewriteRule ^faq.html modules.html?name=FAQ&file=index
RewriteRule ^faq-([a-zA-Z0-9+]*)-([0-9]*)-([a-zA-Z0-9+]*) modules.html?name=FAQ&myfaq=$1&id_cat=$2&categorie s=$3
#FILES
RewriteRule ^files.html modules.html?name=Files
RewriteRule ^files_add.html modules.html?name=Files&go=add_file
RewriteRule ^files_cat([0-9]*).html modules.html?name=Files&go=showcat&cid=$1
RewriteRule ^files_cat([0-9]*).html modules.html?name=Files&go=cat&cid=$1
RewriteRule ^files_view_file([0-9]*).html modules.html?name=Files&go=view_file&lid=$1
|
Тут конечно для конкретной системы, но вдруг эти записи подскажут чего
|
Обосновался
Регистрация: 08.06.2006
Сообщений: 257 шт.
Карма: 87 бал.
|
|
|
|
|
(#10)
|
 |
06.12.2006
|
 |
|
|
|
чует мой мозг тут нада риальную доку по всему этому делу... хотя если прошарить как это делать, то можно такова натворить.... например ставить разширение не html а asp или еще какое нить - вот сиди и догадывайся как сайт сделан и как его "хакнуть"
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#11)
|
 |
06.12.2006
|
 |
|
|
|
metallphilin
да тут и так всё проще не куда...а в принципе хоть щас мож заменить html на asp и будет работать, даже в том примере который ты собираешься сделать, там же дописываеццо .html ну вот ставь .asp и всё, кстати на xakep'е тоже об этом есть..
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#12)
|
 |
06.12.2006
|
 |
|
|
|
2metallphilin:
Хм... .htaccess в студию, а также передаваемый линк и тот, который нужно получить. Чем смогу, помогу.
|
Прохожий
Регистрация: 09.11.2006
Сообщений: 20 шт.
Карма: 1 бал.
|
|
|
|
|
(#13)
|
 |
06.12.2006
|
 |
|
|
|
да походу у Фила чёт на локальном хосте, затестил то что не работало на izmuroma, всё ок
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#14)
|
 |
06.12.2006
|
 |
|
|
|
Эврика товарищи =) Подсказал один добрый человек на просторах необъятной паутины. вот как это делаеццо:
Цитата:
|
RewriteRule ^portfolio([0-9]*)/([0-9]*).html$ /portfolio.php?photo_id=$1&start=$2
|
и так соот-но для каждого файла, НО гвоздь в том что в самих файлах ссылки должны прописываццо как уже переменные... ибо вывода все равно не будет как ЧПУ, но
http://s7.ru/portfolio/7.html вызываеццо без проблем. если же в аксесе прописать например asp или gtk или xml или vasya, то соот-но вывод идет
http://s7.ru/portfolio/7.vasya
что не может не радовать.. щас буду разбираться как это сделать в самом движке.
Добавлено через 15 минут:
хе... ну и КАК соб-но это сделать в самом движке :huh:
Цитата:
|
<a href=/portfolio.php?photo_id=$myrow[0]>$thumbnail</a>
|
$myrow[0] - переменная соб-но номера картинки.
$thumbnail - соб-но сама картинка.
Конечно ничего не мешает сделать так:
Цитата:
|
<a href=/portfolio/$myrow[0].html>$thumbnail</a>
|
конечно ссылка идет как нужно, НО сам php скрипт не обрабатывается - ибо с чего бы ему обрабатываться. :rolleyes:
ЗЫ: нашел доку - http://af.net.ru/showthread.php?p=41676#post41676 но там амздец - без стакана не разберешься :eek:
Последний раз редактировалось metallphilin; 07.12.2006 в 01:00.
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#15)
|
 |
07.12.2006
|
 |
|
|
|
вот это нах обьясни плз, у тя чё ссылки идут типа portfolio1/ или portfolio2/?!
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#16)
|
 |
07.12.2006
|
 |
|
|
|
Цитата:
|
Сообщение от Rembo
вот это нах обьясни плз, у тя чё ссылки идут типа portfolio1/ или portfolio2/?!
|
нет они у меня идут
/portfolio.php?photo_id=1
/portfolio.php?photo_id=2
/portfolio.php?photo_id=3
и т.д.
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#17)
|
 |
07.12.2006
|
 |
|
|
|
Цитата:
Написал: censored
Вот. А для того чтобы он правильно обрабатывался, и нужен RewriteRule в htaccess
Т.е. смотри сам принцип:
Есть, например, такая ссылка:
http://www.siteurl.ru/index.php?p=12345
Она выводится на страницу.
При клике - она в адресной строке.
Т.е. идет обращение к сайту siteurl, к его index.php и ему уже передается параметр p равный 12345
Когда ты ссылку выводишь на старницу в таком виде:
http://www.siteurl.ru/12345/
То идет обращение к папке 12345 которая лежит в корне. Т.е. скрипту ничего не передастся (правда если у тебя на сайте нету папки 12345 в которой лежит index и из которого идет обращение к скрипту).
И поэтому чтобы ссылка http://www.siteurl.ru/12345/ понималась правильно и индексу передавался параметр со значением, то ты в RewriteRule в htaccess ее переопределяешь.
Т.е. типа так в htaccess и говоришь: "если зайдут по ссылке http://www.siteurl.ru/12345/, то на самом деле имеется в виду что зашли по ссылке http://www.siteurl.ru/index.php?p=12345".
|
Это я уже понял, но смотри.
Вот у меня идет таже самая ссылка портфолио:
http://localhost/portfolio.php?photo_id=5
Я пишу в аксесе:
RewriteRule ^portfolio/([0-9]*).html$ /portfolio.php?photo_id=$1
Пишу в движке:
<a href=/portfolio/$myrow[0].html>$thumbnail</a>
Ссылки у меня выводятся как:
http://localhost/portfolio/1.html
http://localhost/portfolio/6.html
http://localhost/portfolio/8.html и т.д.
При клике на любую из ссылок он меня редиректит в САМ РАЗДЕЛ http://localhost/portfolio/ без конкретной работы - 1.html 3.html и т.д. соот-но так же и с новотями.
Сам принцип мне понятен, но скрипт то не обрабатывается, php-ный.....  т.е. по идеи при клике на http://localhost/portfolio/1.html он должен бы редиректить юзера на http://localhost/portfolio.php?photo_id=1 но он этого не делает
где ошибка?
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
|
(#18)
|
 |
08.12.2006
|
 |
|
|
|
сервер виртуальный сука тупил
Сделал кароче. =) Вот мой аксес:
Цитата:
RewriteEngine On
Options +FollowSymlinks
RewriteRule ^index/?$ /index.php [L]
RewriteRule ^portfolio/?$ /portfolio.php [L]
RewriteRule ^portfolio/work-([A-Za-z0-9-]+)/?$ /portfolio.php?photo_id=$1 [L]
RewriteRule ^portfolio/work-([A-Za-z0-9-]+)/start-([A-Za-z0-9-]+)/?$ /portfolio.php?photo_id=$1&start=$2 [L]
RewriteRule ^portfolio/start-([A-Za-z0-9-]+)/?$ /portfolio.php?start=$1 [L]
RewriteRule ^archive/?$ /archive.php [L]
RewriteRule ^archive/news-([A-Za-z0-9-]+)/?$ /archive.php?news_id=$1 [L]
RewriteRule ^archive/start-([A-Za-z0-9-]+)/?$ /archive.php?start=$1 [L]
RewriteRule ^archive/([A-Za-z0-9-]+)/?$ /archive.php?start=$1 [L]
RewriteRule ^servises/?$ /servises.php [L]
RewriteRule ^support/?$ /support.php [L]
RewriteRule ^about_us/?$ /about_us.php [L]
RewriteRule ^theory/?$ /theory.php [L]
|
Вот как это смотриццо на сайте - http://smalta.net/
|
администратор форума
Регистрация: 05.10.2005
Сообщений: 1,543 шт.
Карма: 0 бал.
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
|
Powered by vBulletin® Version 3.8.11 PL4; Copyright ©2000 - 2026, Jelsoft Enterprises Ltd; Оператор обработки ПДн - ИП Алексеев А.С.; ИНН: 333411310227; ОГРН: 307333419200050; тел. +7 (4922) 49-42-22, legal@smalta.net;
Часовой пояс GMT +3, время: 07:12.
|
Любые сообщения на Альтернативном Форуме — являются субъективным отражением реальности, написавших их авторов и публикуются без предварительной модерации. Администрация форума не принимает на себя ответственность за содержание таких материалов. В рамках функционирования форума осуществляется хранение ограниченного набора данных: имя пользователя, адрес электронной почты, IP-адрес (в момент входа) и cookie для поддержки сессии. Метаданные пользователей обрабатываются и направляются в уполномоченные органы только при наличии официального запроса в порядке, установленном законодательством РФ. В случае выявления противоправного контента, пожалуйста, направляйте уведомление через кнопку «Жалоба» или форму обратной связи.
|
|
|