HooLIGUN Posted February 20, 2019 Share Posted February 20, 2019 Подскажите,как сделать, чтобы страница https://сайт.eu/script.php/1/?newsid=2Была доступна по адресу https://сайт.eu/members/1/newsid/2 Реврайты включены, адрес доступен https://сайт.eu/members/1/Предполагаю, нужно что то прописать в файле/applications/members/extensions/furlTemplates.php Link to comment Share on other sites More sharing options...
siv1987 Posted February 20, 2019 Share Posted February 20, 2019 Если контроллер данного чпу находится вне модулей форума /admin/applications/%app%/modules_public/, то скорее всего придется писать кастомный реврайт в htaccess Добавить после RewriteEngine On (или RewriteBase если он следует после RewriteEngine)RewriteRule ^members/(\d+)/newsid/(\d+) script.php/$1/?newsid=$2 [L]Правда, я не совсем понимаю как работает это script.php/1/. Возможно этот момент придется пересмотреть и убрать его в параметр запроса query string как newsid. Link to comment Share on other sites More sharing options...
HooLIGUN Posted February 21, 2019 Author Share Posted February 21, 2019 Правда, я не совсем понимаю как работает это script.php/1/. Возможно этот момент придется пересмотреть и убрать его в параметр запроса query string как newsid.Да, скорее всего корректнее будет такscript.php?members=id&newsid=idК виду так же/members/id/newsid/id Link to comment Share on other sites More sharing options...
HooLIGUN Posted February 21, 2019 Author Share Posted February 21, 2019 А если скрипт будет написан в среде приложения easypages , то нужно будет прописать в конфиге этого приложения ? Link to comment Share on other sites More sharing options...
siv1987 Posted February 21, 2019 Share Posted February 21, 2019 Да, если скрипт находится в виде модуля одного из приложений, тогда можно воспользоваться системой чпу форума, где шаблоны прописываются в furlTemplates.php Если вне, тогда реврайт в htaccess. RewriteRule ^members/(\d+)/newsid/(\d+) script.php?members=$1&newsid=$2 [L] Link to comment Share on other sites More sharing options...
HooLIGUN Posted February 23, 2019 Author Share Posted February 23, 2019 Не пойму, где именно здесь указывать ссылку на скрпит? 'showuser' => array( 'app' => 'members', 'allowRedirect' => 1, 'out' => array( '#showuser=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'user/$1-#{__title__}/$2$4' ), 'in' => array( 'regex' => "#^/user/(\d+?)-#i", 'matches' => array( array( 'showuser', '$1' ) ) ) ),Ссылка на скрипт //сайт.eu/pages/gamestats?member=id&newsid=id Link to comment Share on other sites More sharing options...
siv1987 Posted February 23, 2019 Share Posted February 23, 2019 А почему просто через htaccess не сделать?Чтобы написать шаблон для этого урл, нужно разобрать его на составляющие в виде просто адреса без чпу - app, module и другие, и составлять для него входящие параметры matches. Этот адрес относится к чпу темплейтов pages, там и нужно смотреть подходящие шаблоны. Link to comment Share on other sites More sharing options...
HooLIGUN Posted February 23, 2019 Author Share Posted February 23, 2019 у меня нжинкс без апачаЛибо я не правильно локацию прописываю, либо оно почему то не работает Link to comment Share on other sites More sharing options...
siv1987 Posted February 23, 2019 Share Posted February 23, 2019 Я так понимаю /pages/ это урл приложения easypages. Вы хотите преобразовать чпу адрес этого приложения в другой адрес, соответствующий приложению members. Попробуйте в /admin/applications/members/extensions/furlTemplates.phpПосле$_SEOTEMPLATES = array(Добавить 'members_newsid' => array( 'app' => 'easypages', 'allowRedirect' => 0, 'out' => array( '#app=easypages(?:&|&)page=gamestats(?:&|&)member=(\d+)(?:&|&)newsid=(\d+)#i', 'members/$1/newsid/$2' ), 'in' => array( 'regex' => "#^/members/(\d+)/newsid/(\d+)#i", 'matches' => array( array( 'app', 'easypages' ), array( 'page', 'gamestats' ), array( 'member', '$1' ), array( 'newsid', '$2' ) ), ), ), По хорошему, конечно, его надо было добавить в furlTemplates приложения easypages. Но в members есть шаблон members_list который ему соответствует, чтобы исключить его перехвата добавим его в furlTemplates members первый в списке. 1 Link to comment Share on other sites More sharing options...
HooLIGUN Posted February 25, 2019 Author Share Posted February 25, 2019 Спасибо, получилось Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now