Я создал свой собственный модуль. В этом я использовал IndexController
. Поэтому URL-адрес для меня выглядит как http://192.168.1.25/upload/index.php/capsync/index/api
.
Я хочу сократить URL-адрес, например, http://192.168.1.25/upload/index.php/capsync/api
.
Я хочу удалить имя контроллера. Я попытался в файле config.xml
, но он показывает ошибку 404. Я не знаю, как это исправить. Есть идеи?
Попробуйте переписать функцию Magento. Откройте файл config.xml и добавьте ниже код. Он сделает URL http://192.168.1.25/module/index/index/id/5 → http://192.168.1.25/module/id/5 следующим образом. Измените правило в соответствии с вашими потребностями.
<global>
<rewrite>
<fancy_url>
<from><![CDATA[/module\/(.*)/]]></from>
<to><![CDATA[module/index/index/id/$1/]]></to>
<complete>1</complete>
</fancy_url>
</rewrite>
...
Код, который работает для меня, выглядит следующим образом.
<global>
<rewrite>
<fancy_url>
<from><![CDATA[/capsync\/(.*)/]]></from>
<to><![CDATA[/capsync/index/$1/]]></to>
<complete>1</complete>
</fancy_url>
</rewrite>
Наиболее распространенным решением для этого является разделение информации о конечных точках на разные файлы-контроллеры. В вашем примере вы можете изменить имя от IndexController.php
на ApiController.php
и имя метода от ApiAction()
до IndexAction()
.