【问题标题】:Hidden NGINX rewrite URL segments into query string for PHP隐藏的 NGINX 将 URL 段重写为 PHP 的查询字符串
【发布时间】:2017-05-30 23:32:47
【问题描述】:

我正在使用 Magento,我有这个字符串: /rims/mercedes-benz/e-class/w211

当用户访问时,我希望: 'site.com/rims/mercedes-benz/e-class/w211' 让 PHP (Magento) 将 URL 处理为: /rims?brand=mercedes-benz&model=e-class&type=w211

我不想重定向用户,他们仍然会看到他们访问的确切 URL,但只是为了让 PHP 处理分解为查询字符串的参数。

【问题讨论】:

    标签: php magento nginx


    【解决方案1】:

    您可以通过为 frontName 边缘创建自己的路由器来实现这一点,然后您可以使用 url 中的参数做几乎任何您想做的事情。

    为此,您需要在模块的 config.xml 中注册您的路由器,如下所示:

    <frontend>
        <routers>
            <your_module>
                <use>standard</use>
                <args>
                    <frontName>rims</frontName>
                    <module>Your_Module</module>
                </args>
            </your_module>
        </routers>
    

    然后在Controllers下的Your_Module文件夹中(注意大写C)添加一个Router.php文件,如下所示:

    class Your_Module_Controller_Router extends Mage_Core_Controller_Varien_Router_Standard {
    
        public function match(Zend_Controller_Request_Http $request) {
            // add the logic to deal with params here
        }
    }
    

    【讨论】:

    • 这对我有用。我所做的不同之处在于将文件夹命名为“Controller”,并且我必须设置模块的配置以使用新的路由控制器。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多