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'; } }
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); }
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('error:param'); $class=$d[0].'Action'; $action=$d[1];
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!