Detailed explanation of pseudo-static transformation of php workerman

Release: 2021-02-01 12:08:58
forward
2873 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('error:param'); $class=$d[0].'Action'; $action=$d[1];
Copy after login

Just load the class and run it.

For more workerman knowledge, please pay attention to theworkerman tutorialcolumn 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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!