olimpset
15.07.2013 - 17:25
http://.../game.php?name = gamename
на
http://.../game/gamename
dron4ik
15.07.2013 - 17:31
Ты когда заходишь по http://.../game/gamename ты видишь нужную страницу?
_____________
Ex3m.com.ua — Активный образ жизни
olimpset
15.07.2013 - 17:42
страницу как бы да, но она слилась с главной, то что на главной теперь и там, да и игра не грузит.
olimpset
16.07.2013 - 12:50
Вот так как бы нормально:
RewriteRule ^game/([-_a-zA-Z0-9]+)$ game.php?name=$1
Но файл game.php не видит игру, которая в game/название игры,
Пробовал вставить ту переменную что в ?name=$1 в game/($1), не работает.
Надо что бы с game/название, "название" подставлялось так: game.php?name=название
AlmazDelDiablo
16.07.2013 - 12:53
В ссылках у вас ничего не изменится, ибо за ссылки отвечает html. Реврайт просто сделает доступным нужные вам адреса, а уж прописать ссылки надо будет самому.
Если же вы хотите, чтобы всё это происходило автоматически, то вам нужно написать свой роутер и правила реврайта без .htaccess, а ссылки создавать собственноручно написанным генератором ссылок на основе этого роутера.
_____________
Блог |
VK |
GitHub |
Twitch
olimpset
16.07.2013 - 12:59
Понятно, значит то что я пишу после папки game/ не зависит на переменную файла game.php?name=, а по какому принципу написать роутер?
dron4ik
16.07.2013 - 13:03
Конечно не сработает game.php?game=$1 потому что game.php?name=$1 !!!
_____________
Ex3m.com.ua — Активный образ жизни
olimpset
16.07.2013 - 13:05
Цитата |
Конечно не сработает game.php?game=$1 потому что game.php?name=$1 !!! |
AlmazDelDiablo
16.07.2013 - 13:19
Можете посмотреть во фреймворке LiveStreet роутер, там он довольно простой и понятный, можно по аналогии с ним написать. А если интересует нечто более сложное и универсальное, то можно глянуть UrlManager в Yii.
Если кратко, то роутер должен принять URL запрошенной страницы (например, /game/name/Morrowind), определить по нему, который файл нужно сейчас подключить и есть ли он в наличии (в твоем случае — это game.php). Далее, установить $_GET['name'] = 'Morrowind' и после этого исполнить этот самый файл.
Естественно, это самый простой способ. Ко всему к этому еще можно наложить переключение между стандартным видом URL-ов и красивых, правила реврайта для еще более красивый URL-ов, создание ссылок и т.д. Много всего можно придумать. Опять же, рекомендую посмотреть LiveStreet или Yii, там роутеры неплохо реализованы, я именно на этих примерах и учился ^^
Это генератор коротких ссылок для соц. сетей, хотя, вероятнее всего, там этот самый роутер есть. Можете его тоже посмотреть, больше примеров разной реализации — это лучше, чем один единственный известный вариант)
_____________
Блог |
VK |
GitHub |
Twitch