PHP学习笔记:伪静态规则的书写
这里以阿帕奇为服务器软件,直接上案例:
1.把index.html重定向到index.php
RewriteEngine On
Options -Indexes
ReWriteRule ^index.html$ /index.php [NC]
效果:访问www.test.com/index.html效果等于www.test.com/index.php
2.把index重定向到index.php
RewriteEngine On
Options -Indexes
ReWriteRule ^index$ /index.php [NC]
效果:访问www.test.com/index效果等于www.test.com/index.php
3.根目录下的PHP文件,用html后缀也能访问
写法1:
RewriteEngine On
Options -Indexes
ReWriteRule ^([a-zA-Z0-9_]{1,})\.html$ /$1.php [NC]
效果: 访问www.test.com/index.html效果等于www.test.com/index.php
访问www.test.com/abc.html效果等于www.test.com/abc.php
4.根目录下的php文件,直接访问文件名效果一样
RewriteEngine On
Options -Indexes
ReWriteRule ^([a-zA-Z0-9_]{1,})$ /$1.php [NC]
效果: 访问www.test.com/index效果等于www.test.com/index.php
访问www.test.com/abc效果等于www.test.com/abc.php
5.访问文件名+html效果等效后缀为php的文件
RewriteEngine On
Options -Indexes
RewriteRule ^/?([a-z/]+)\.html$ $1.php [NC]
效果:
访问www.test.com/index.html效果等于www.test.com/index.php
访问www.test.com/abc/abc.html效果等于www.test.com/abc/abc.php
6.访问所有目录下的文件等效于访问文件名+后缀
RewriteEngine On
Options -Indexes
RewriteRule ^/?([a-z/]+)$ $1.php [NC]
效果:
访问www.test.com/index效果等于www.test.com/index.php
访问www.test.com/abc/abc效果等于www.test.com/abc/abc.php
7.404页面跳转设置
目标:当用户访问我们不存在的页面时候,把网站内容跳转到404页面。在这里,我把404.html作为404页面,放在网站的根目录。
RewriteEngine On Options -Indexes ErrorDocument 404 /404.html
效果:
各位在制作404页面可以直接百度上找些模版,再改改,页面会更加美观,建议在404页面设置3秒钟跳转首页、增加设置返回首页链接,这样对搜索引擎和用户更加友好。