This article introduces the implementation of php pseudo-static in detail. For more information, see
1. perform operations based on $ _ SERVER ['path _ info.
For example, your website address is http: // 127.0.0.1/show_new.php/look-id-1.shtml
The result of your echo $ _ SERVER ['path _ info'] would be/look-id-1.shtml to see this I think you may already understand.
Complete demo
Index. php
The code is as follows:
Index. php
$ Conn = mysql_connect ("localhost", "root", "root") or dir ("connection failed ");
Mysql_select_db ("tb_demo", $ conn );
$ SQL = "select * from news ";
$ Res = mysql_query ($ SQL );
Header ("content-type: text/html; charset = utf-8 ");
Echo "news list ";
Echo "add news
";
Echo"
";Echo"
Id |
Title |
View details |
Modify News |
";While ($ row = mysql_fetch_assoc ($ res )){Echo"
{$ Row ['id']} |
{$ Row ['title']} |
View details |
Modify page |
";}// The Red address above should have been show_news.php? Act = look & id = {$ row ['id']}Echo"
";
// Close the resource
Mysql_free_result ($ res );
Mysql_close ($ conn );
Show_new.php page
The code is as follows:
Show_new.php
Header ("Content-type: text/html; charset = utf-8 ");
$ Conn = mysql_connect ("localhost", "root", "root ");
Mysql_select_db ("tb_demo", $ conn );
Mysql_query ("set names utf8 ");
$ Pa = $ _ SERVER ['path _ info'];
// $ The value printed out by pa is/look-id-1.html
// Use a regular expression to match the obtained url
If (preg_match ('/^ \/(look)-(id)-([\ d]) \. shtml $/', $ pa, $ arr )){
$ Act = $ arr [1]; // This is the look method of the request.
$ Id = $ arr [3]; // This is the obtained id value.
$ SQL = "select * from news where id = $ id ";
$ Res = mysql_query ($ SQL );
$ Res = mysql_fetch_assoc ($ res );
Echo $ res ['title']. "". $ res ['content'];
} Else {
Echo "invalid url ";
}
Mysql_close ($ conn );
I think you will understand the above. In fact, this method is not much used. I will explain the second method to you below.
2. configure. htaccess.
First, let's talk about how to create the. htaccess file. create a notepad under the root directory of the website, double-click it, and click "Save as file name ".
. Htaccess: Select All files for the storage type, and select UTF-8 for the encoding. you will see this. htaccess file in the directory.
Enable mod_rewrite.so in apache, and replace AllowOverride None with AllowOverride All.
For example, the href address is written as a one_new-id-1.shtml // which means one_new.php? Id = 1
Here, the. htaccess can be written in this way.
The code is as follows:
# Write your rewrite rules
RewriteEngine On
# You can configure multiple rules. The matching sequence is from top to bottom.
RewriteRule one_new-id-(\ d +) \. shtml $ one_new.php? Id = $1 // Here $1 represents the first parameter.
RewriteRule abc_id (\ d +) \. html $ error. php
# Setting 404 errors
# ErrorDocument 404/error. php
On the one_new.php page, echo $ _ GET ['id'] will definitely output the id value.
Note: my personal abilities can only be written here and I will gradually improve it later.
If you have any questions, please leave me a message.