• 技术文章 >后端开发 >PHP问题

    php怎么设置url模式

    藏色散人藏色散人2021-09-21 13:52:50原创356

    php设置url模式的方法:1、通过“'URL_CASE_INSENSITIVE'=>true”设置url是否区分大小写;2、通过“'URL_HTML_SUFFIX'=>'html|shtml|xml'”限制伪静态后缀;3、设置URL路由。

    本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

    php怎么设置url模式?

    PHP对URL设置

    一、URL规则

    1、默认是区分大小写的

    2、如果我们不想区分大小写可以改配置文件

      'URL_CASE_INSENSITIVE'=>true,               //url不区分大小写

    3、如果模块名为 UserGroupAction

    那么url找模块就必要要写成

      http://localhost/thinkphp4/index.php/user_group/index

    4、如果'URL_CASE_INSENSITIVE'=>false

    那么url也可以写为

      http://localhost/thinkphp4/index.php/UserGroup/index

    二、URL伪静态

     'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀

    三、URL路由

    1、启动路由

    要在配置文件中开启路由支持

    2、使用路由

    1.规则表达式配置路由

       'my'=>'Index/index',//静态地址路由
       ':id/:num'=>'Index/index',//动态地址路由
       'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由
       'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由

    加上 \d代表类型只能是数字

       'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了

    2.正则表达式配置路由

    '/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'

    3、注意事项:

    1.越复杂的路由越往前面放

        'URL_ROUTE_RULES'=>array(
        'my/:year/:month:/:day'=>'Index/day',
        'my/:id\d'=>'Index/index',
        'my/:name'=>'Index/index',
        )

    2.可以使用$作为完全匹配的路由规则

         'URL_ROUTE_RULES'=>array(
          'my/:id\d$'=>'Index/index',
          'my/:name$'=>'Index/index',
          'my/:year/:month:/:day$'=>'Index/day',
       ),

    3.用正则匹配的方式

        'URL_ROUTE_RULES'=>array(
        '/^my\/(\d+)$/'=>'Index/index?id=:1',
        '/^my\/(\w+)$/'=>'Index/index?name=:1',
        '/^my\/(\d{4})\/(\d{2})\/(\d{2})$/'=>'Index/day?year=:1&month=:2&day=:3',
        ),

    四:URL重写

    (1):将Apache---〉httpd.conf下的rewrite开启:

    #LoadModule rewrite_module modules/mod_rewrite.so   将 # 去掉即可

    (2):AllowOverride None 将None改为 All:即

    <Directory "D:/wamp/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>

    (3):确保URL_MODEL设置为2(不用修改)

    (4):把下面的内容保存为.htaccess文件放到入口文件的同级目录下

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

    然后重启Apache

    推荐学习:《PHP视频教程

    以上就是php怎么设置url模式的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php.ini如何设置转义 下一篇:php json怎么转object
    大前端线上培训班

    相关文章推荐

    • php curl怎么输出错误• 如何解决php curl 错误码7的问题• php curl数据传不过去怎么办• php不能开启php_curl怎么办

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网