Home  >  Article  >  Backend Development  >  Configure pseudo-static for php in Linux, linuxphp pseudo-static_PHP tutorial

Configure pseudo-static for php in Linux, linuxphp pseudo-static_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:11:27911browse

Pseudo-static configuration for php in Linux, linuxphp pseudo-static

mod_rewrite is a very powerful function of Apache, which can implement pseudo-static pages. Below I will explain in detail how to use it

1. Check whether Apache supports mod_rewrite

Check the environment configuration through the phpinfo() function provided by php, and use Ctrl+F to find "Loaded Modules", which lists all modules that have been opened by apache2handler. If "mod_rewrite" is included, it is already supported and is no longer Need to continue setting up.
If "mod_rewrite" is not turned on, open the httpd.conf file under your apache installation directory "/apache/conf/", find "LoadModule rewrite_module" through Ctrl+F, and delete the "#" in front of it. .
If it is not found, go to the "LoadModule" area, add "LoadModule rewrite_module, modules/mod_rewrite.so" in the last line (required to be an exclusive line), and then restart the apache server.

2. Let the apache server support .htaccess

How to make your local APACHE server support ".htaccess"? In fact, you can make APACHE support .htaccess by simply modifying apache's httpd.conf settings. Open the httpd.conf file (where? In the CONF directory of the APACHE directory),
After opening it with a text editor, search for

Copy code The code is as follows:

Options FollowSymLinks
AllowOverride None

changed to

Copy code The code is as follows:

Options FollowSymLinks
AllowOverride All

That’s it.
3. Create .htaccess file
There is 1 easiest way to create a .htaccess file:
Open it with Notepad, click File – Save As, enter ".htaccess" in the file name window, pay attention to the entire green part,
That is, include English quotation marks, and then click Save.
4.rewrite rule learning
After we create a new .htaccess file, we write the following content in it:
RewriteEngine on #rewriteengine is the rewrite engine switch on to turn on off to turn off
RewriteRule ([0-9]{1,})index.php?id=1
Let me explain RewriteRule: RewriteRule is a rewriting rule that supports regular expressions. The above ([0-9]{1,}) refers to the number
It is composed of words and is the end mark, indicating that it ends with a number! Okay, now we can implement a pseudo-static page. Write the following rules: RewriteEngineonRewriteRule([a−zA−Z]1,)−([0−9]1,).htmlindex.php?action=1&id=2
([a-zA-Z]{1,})-([0-9]{1,}).html is the rule, index.php?action=1&id=2 is the format to be replaced, 1 represents the
One bracket matches the value, 2 represents the second one, and so on! ! We write a PHP script for processing: index.phpPHP code echo ‘Your Action is: ′._GET['action'];
echo ‘
';
echo 'Your ID is:' . $_GET['id'];
?>
Okay, let’s type in the browser now:
localhost/page-18.html
The output is:
Your Action is: page
Your ID is: 18

++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++

Check apache's httpd.conf and there is no LoadModule rewrite_module modules/mod_rewrite.so line. You need to generate this module manually. The method is as follows:

The apache source package path is: /ftp/httpd2.2

apache installation path:/usr/local/apache/

1. Add mod_rewrite module

Copy code The code is as follows:

# find . -name mod_rewrite.c //Find the mod_rewrite.c file in the apache source code installation directory
./modules/mappers/mod_rewrite.c
# cd /ftp/httpd2.2/modules/mappers //Enter the directory containing the mod_rewrite.c file
# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs should specify the absolute path, in the bin directory where you are currently using apache
# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

If there are no errors, a mod_rewrite.so file should be compiled in your apache's modules directory (/usr/local/apache/modules).

Edit the httpd.conf file and confirm that httpd.conf already contains the loading statement of mod_rewrite.so, as follows:

LoadModule mod_rewrite_module modules/mod_rewrite.so

2. Restart apache

1. If the following error occurs:

httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: Can't locate API module structure `mod_rewrite_module' in file /usr/local/apache/modules/mod_rewrite.so: / usr/local/apache/modules/mod_rewrite.so: undefined symbol: mod_rewrite_module

Need

LoadModule mod_rewrite_module modules/mod_rewrite.so

changed to

LoadModule rewrite_module modules/mod_rewrite.so

2. If the following error occurs

httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: module rewrite_module is built-in and can't be loaded

indicates that the module is built-in and does not need to be transferred in. Comment out

#LoadModule rewrite_module modules/mod_rewrite.so

3. Enable url rewriting for a virtual site

1. Edit httpd-vhost.conf and add:

to the corresponding site tag.

Copy code The code is as follows:

Directory /website/webA
AllowOverride All
/Directory

i.e.:

Copy code The code is as follows:

VirtualHost *:80
DocumentRoot /website/webA
ErrorLog logs/webA.com-error_log
CustomLog logs/webA.com-access_log common
Directory /website/webA
AllowOverride All
/Directory
/VirtualHost

4. Save the rewriting rules for the site to the root directory of the site, with the file name “.htaccess”

5. Restart apache

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/929096.htmlTechArticlePseudo-static configuration for php in Linux, linuxphp pseudo-static mod_rewrite is a very powerful function of Apache, it can achieve Pseudo-static page. Let me talk about how to use it in detail 1. Detect...
Statement:
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