在进行网站相关页面请求的时候,用户看到的地址是一个静态地址,实际程序内部走的是动态程序。如:访问detail.html,实际访问的是detail.php文件。有的程序页面本身不适合做纯静态(例如数据频繁发生变化的页面),但是我们还想让seo搜索引擎比较好搜录该页面,那么就做“伪静态”。
静态:http://yourhost.com/index.php/12/2.html
动态:http://yourhost.com/index.php?type=12&id=2
伪静态使用好处:
① 对seo搜索引擎比较友好
② 针对用户有麻痹效果
伪静态是服务器的技术,各大服务器都支持,用到的就是服务器的rewrite重写技术。
.htaccess文件编写需要用到正则表达式,不了解的请自行恶补一下(基础即可)。
一、配置apache服务器开启rewrite模块。
通过PHP提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
二、修改配置文件。
①httpd.conf配置文件中加载了mod_rewrite.so模块
#LoadModule rewrite_module modules/mod_rewrite.so 把前面的 “#”去掉
② 把 AllowOverride None 改为 AllowOverride All
<Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory>
③重启Apache即可以生效
systemctl restart httpd.service
④编辑文件 vi .htaccess (该文件是隐藏文件 可使用 ls -al查看)
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^demo.html$ demo.php RewriteRule ^/vidio/([0-9]*).html$ /vidio.php?id=$1 </IfModule>
现在你访问 http://yourhost.com/vidio/12.html时,相当于访问了http://yourhost.com/vidio.php?id=12
效果如图:
伪静态和静态页面冲突时解决办法:
#完整的配置规则如下 RewriteEngine on #添加以下两项,!-d 和 !-f 分别表示 目录 和 文件 #当访问的伪静态和相应的静态目录和文件冲突时,访问静态页面 RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteRule ^/index/([0-9]*).html$ /index.php?id=$1
相关链接:http://www.cnblogs.com/caoruiy/p/4443986.html
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn