The main function of Rewirte is to achieveURL to jump and hide real address, a regular expression specification based on the Perl language. Usually help us achieve quasi-static, quasi-directory, domain name jump, prevent hotlinking, etc.
First, Apache
Configuration:1, Support httpd.conf configuration 2, Support directory. htaccess configuration (a "Distributed Configuration" file for virtual space, the space quotient does not allow the modification of the Apache configuration file)
enable rewrite (httpd.conf)(sometimes the options Indexes followsymlinks will go wrong, just configure the options all)LoadModule Rewrite_module modules/mod_rewrite.so
Enable. htaccessAllowOverride None modified to: allowoverride all
Second, mod_rewrite
Rules:Example: Rewriteengine on
-
Start
rewrite
engineRewriterule ^/test ([0-9]*). html$/test.php?id=$1
---access test plus any field. html can jump to test.php regular matching fields stored in virtual memory match $
Third, Mod_rewrite
rules
modifier1) R Force external redirect 2) F disable URL, return 403HTTP status code. 3) G force URL is gone, return 410HTTP status code. 4) P forces the use of proxy forwarding. 5) L indicates that the current rule is the last rule, which stops the rewrite of the rule after parsing. 6) N re-run the rewrite process starting with the first rule. 7) C is associated with the next rule
If rule matching is handled correctly, the following modifier is invalid8) T=mime-type (Force MIME type) enforces MIME type 9) NS only for not internal sub-requests (NC) is case-insensitive) QSA append request string () NE does not output escape special character \%3d$1 equivalent to = $ $ For example:
Rewriterule ^/
New
([0-9]*)/
$ /
New
. php?id=$1
[R]Simple Small Example:
^/in (. *). html$/index.php
Easy to implement ~