Home > PHP Framework > Workerman > Detailed explanation of pseudo-static transformation of php workerman

Detailed explanation of pseudo-static transformation of php workerman

Release: 2021-02-01 12:08:58
forward
2981 people have browsed it

Detailed explanation of pseudo-static transformation of php workerman

1. Find line 176 of \vendor\workerman\workerman\WebServer.php, change it to the following content, and increase the judgment that the html extension file does not exist

        if (in_array($workerman_file_extension,['php','html']) && !is_file($workerman_file)) {
            $workerman_file = "{$workerman_root_dir}/index.php";
            $workerman_file_extension = 'php';
            if (!is_file($workerman_file)) {
                $workerman_file           = "{$workerman_root_dir}/index.html";
                $workerman_file_extension = 'html';
            }
        }
Copy after login

After this, as long as you access a file with the extension html, and the file does not exist, it will automatically redirect to index.php, and then make a judgment in index.php

2. index.php Modification, before outputting the page, add the following judgment:

//重定向判断
$uri=$_SERVER['REQUEST_URI'];
$ext=strtolower(substr($uri,-4,4));
if(is_cli()&&$ext=='html'){
  $_GET['_']=substr($uri,1,strlen($uri)-5);
}
Copy after login

For example, the address I visit is http://c.com/Users_login.html, that is, access index.php?_=Users_login

3. According to $_GET['_'], separate the underscores and determine which class and class method to load. For example:

$_GET['_']=isset($_GET['_'])?$_GET['_']:strcode('Index_index');
$strs=strcode($_GET['_'],'DECODE');
if(!$strs)xdie('param error.');
$d=preg_split('/[\.\_]/',$strs);
if(count($d)<2)xdie(&#39;error:param&#39;);
  
$class=$d[0].&#39;Action&#39;;
$action=$d[1];
Copy after login

Just load the class and run it.

For more workerman knowledge, please pay attention to the workerman tutorial column on the PHP Chinese website.

The above is the detailed content of Detailed explanation of pseudo-static transformation of php workerman. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template