这里以阿帕奇为服务器软件,直接上案例:
1.把index.html重定向到index.php
1 2 | RewriteEngine On Options -IndexesReWriteRule ^index.html$ /index.php [NC] |
效果:
1 | 访问www.test.com/index.html效果等于www.test.com/index.php |
2.把index重定向到index.php
1 2 | RewriteEngine On Options -IndexesReWriteRule ^index$ /index.php [NC] |
效果:
1 | 访问www.test.com/index效果等于www.test.com/index.php |
3.根目录下的PHP文件,用html后缀也能访问
写法1:
1 2 3 | RewriteEngine On Options -Indexes ReWriteRule ^([a-zA-Z0-9_]{1,})\.html$ / $1 .php [NC] |
效果:
1 2 | 访问www.test.com/index.html效果等于www.test.com/index.php 访问www.test.com/abc.html效果等于www.test.com/abc.php |
4.根目录下的php文件,直接访问文件名效果一样
1 2 3 | RewriteEngine On Options -Indexes ReWriteRule ^([a-zA-Z0-9_]{1,})$ / $1 .php [NC] |
效果:
1 2 | 访问www.test.com/index效果等于www.test.com/index.php 访问www.test.com/abc效果等于www.test.com/abc.php |
5.访问文件名+html效果等效后缀为php的文件
1 2 3 | RewriteEngine On Options -Indexes RewriteRule ^/?([a-z/]+)\.html$ $1 .php [NC] |
效果:
1 2 | 访问www.test.com/index.html效果等于www.test.com/index.php 访问www.test.com/abc/abc.html效果等于www.test.com/abc/abc.php |
6.访问所有目录下的文件等效于访问文件名+后缀
1 2 3 | RewriteEngine On Options -Indexes RewriteRule ^/?([a-z/]+)$ $1 .php [NC] |
效果:
1 2 | 访问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页面,放在网站的根目录。
1 2 3 | RewriteEngine On Options -Indexes ErrorDocument 404 /404.html |