对url进行修改的几个优势:
1.可以隐藏工程的内部文件结构。同时将较长的url变短。例如/function/test.php可以直接重写成/test。
2.可以利用方法名代替文件名,使方法的具体功能更加明显。如/CreateOrder 可以一眼看出就是创建订单的方法。
对php工程的url进行重写的方法:HTTP重写技术,让符合特定正则表达式的URL,交由某个特定的脚本处理(WordPress等很多程序的实践,推荐)
过程:
1.开启apache的重写方法:
(1)打开/apache/conf/httpd.conf文件
创建方法:利用windows的命令提示符,输入 copy con .htaccess,此时控制界面没有变化,按ctrl+z,再按回车,文件被创建。在对应的路径下可以找到该文件。
(2)在htaccess文件中写重写代码:(如下为一个简单例子)
对php工程的url进行重写的方法:HTTP重写技术,让符合特定正则表达式的URL,交由某个特定的脚本处理(WordPress等很多程序的实践,推荐)
过程:
1.开启apache的重写方法:
(1)打开/apache/conf/httpd.conf文件
修改:
LoadModule rewrite_module modules/mod_rewrite.so这行代码,他前面有个#号,把#号删掉
修改:
<Directory "E:/php/workspace">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
将None修改成为All
2.设置重写文件:
(1)
在要进行重写的工程下建立.htaccess文件:2.设置重写文件:
创建方法:利用windows的命令提示符,输入 copy con .htaccess,此时控制界面没有变化,按ctrl+z,再按回车,文件被创建。在对应的路径下可以找到该文件。
(2)在htaccess文件中写重写代码:(如下为一个简单例子)
RewriteEngine on //on为打开,off为关闭
RewriteRule ^test$ test.php
ErrorDocument 404 /404.txt
对于带参数的情况,也是这一种重写方法,只需要让自定义的名称与php文件名称对应上即可。
例如在这个例子中:
test?action=buy可以重写到test.php?action=buy