|
|
|
| на моем сайте (строительно - рекламной тематики), есть страницы других людей, эти люди хотят, чтобы я выдал им короткую ссылку, ведущую контретно на страницу с их информацией, например site.ru/veka
Внутренняя ссылка выглядят так: site.ru/file.php?key1=value&key2=value&key3=value, поэтому если рализовать пример, то корневая директория будет набита папками, что очень не хорошо будет.
ссылки вида site.ru/?veka мне что-то не очень нравятся, хотя с таким подходом нет проблем, просто считать переменную, пробить по базе и перенаправить куда надо, если это необходимо.
Больше всего мне бы подошел вариант veka.site.ru, а при создании такого адреса потребовалось бы обзавестись соответствующей папкой, в которой бы лежал index.php с header`ом, но в виду маленького опыта, незнаю даже позволит ли мне хостер творить такое средствами php.
Какой из этих путей самый оптимальный? Предпологается, что таких папок может быть очень много. | |
|
|
|
|
|
|
|
для: Рома
(25.09.2009 в 17:54)
| | Может проще будет при помощи mod_rewrite Web-сервера Apache организовать виртуальную ссылку site.ru/veka, тогда вся работа сведётся к созданию нового правила в конфигурационном файле .htaccess? | |
|
|
|
|
|
|
|
для: cheops
(25.09.2009 в 20:17)
| | да, я почитал об этом - это то что нужно, спасибо, только что-то не получилось.
где можно посмотреть подробный разбор синтаксиса этой технологии?
RewriteEngine on - это я так понял включение режима обработки урлов на лету.
потом идет обработка правила
RewriteRule "регулярное выражение" "прямая ссылка на нужную страницу"
попробовал пример: RewriteRule ^(\d)/? index.php?f=$1
но есть проблема. если обратиться по адресу site.ru/1 , то все нормально, но если обратиться по адресу site.ru/1/ , то показывает две страницы вложенные одна в другую, причем вторая не в моей кодировке, в итоге получается каша. как сделать такое правило, чтобы если введено точь в точь - то переход, а если малейшее отклонение, то чтоб показало главную страницу сайта. с регулярными выражениями я уже сам разберусь.
да, и еще, обязательно ли рег. выр. должно начинаться с символа ^ или нет? | |
|
|
|
|
|
|
|
для: Рома
(26.09.2009 в 03:54)
| | >где можно посмотреть подробный разбор синтаксиса этой технологии?
Собственно пожалуй только в документации. Вообще, в первую очередь включите логгирование модуля mod_rewrite в виртуальном хосте (будет значительнее проще с ними работать и отлаживать)
RewriteLog logs/rewrite.log
RewriteLogLevel 9
|
>то показывает две страницы вложенные одна в другую
Хм... странно, это уже скорее логика Web-приложения, mod_rewrite страницу не модифицирует.
>да, и еще, обязательно ли рег. выр. должно начинаться с символа ^ или нет?
Да, если важно, чтобы выражение работало не по всей строке, а с начала. | |
|
|
|
|
|
|
|
для: cheops
(26.09.2009 в 13:11)
| | а, ну так еще бы не глючило, когда в index подружается index). спасибо, все ок. | |
|
|
|