【问题标题】:Yii2 Url Mapping SuffixYii2 Url 映射后缀
【发布时间】:2015-01-19 04:41:35
【问题描述】:

我在 Yii2 中有一些类似的 Url 映射:

'urlManager'    => [
'enablePrettyUrl'       => true,
'showScriptName'        => false,
'rules'                 => [
 ['pattern'=>'pages','route'=>'pages/index',            'suffix'=>'/'],
 ['pattern'=>'pages/<id:\d+>','route'=>'pages/single',  'suffix'=>'.html'],
]]

所以,网址:

domain.com/pages/ - works fine
domain.com/pages  - E404

domain.com/pages/321.html - works fine
domain.com/pages/321      - E404

如果我从配置数组中删除后缀参数,那么:

domain.com/pages/ - E404
domain.com/pages  - works fine

domain.com/pages/321.html - E404
domain.com/pages/321      - works fine

是否可以将“后缀”设置为可选链接,例如'pages' 和 'pages/' 会跟随一个方向吗? 谢谢。

【问题讨论】:

    标签: php yii2 url-mapping


    【解决方案1】:

    似乎无法通过 url manager 中的规则配置来实现这一点。

    请在 Github 上查看这些相关问题:

    https://github.com/yiisoft/yii2/issues/1807

    https://github.com/yiisoft/yii2/issues/6498

    所以选择一个更适合你的选项并使用它。

    需要尾部斜杠或.html - 添加suffix,否则保持原样。

    也适用于搜索引擎

    domain.com/pages/
    domain.com/pages
    

    这是两个不同的页面,使用它们会导致内容重复。

    【讨论】:

    • 谢谢,正如它在问题中所说,我将此逻辑移至 Web 服务器部分。 Apache mod_rewrite 示例:RewriteRule ^pages$ /pages/ [R=301,L]
    猜你喜欢
    • 2014-08-04
    • 2011-03-04
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2011-02-18
    • 2015-03-28
    • 2012-08-15
    • 2011-08-16
    相关资源
    最近更新 更多