对php工程的url进行重写(去掉.php文件后缀)
2017-08-25 16:17
1676 查看
对url进行修改的几个优势:
1.可以隐藏工程的内部文件结构。同时将较长的url变短。例如/function/test.php可以直接重写成/test。
2.可以利用方法名代替文件名,使方法的具体功能更加明显。如/CreateOrder 可以一眼看出就是创建订单的方法。
对php工程的url进行重写的方法:HTTP重写技术,让符合特定正则表达式的URL,交由某个特定的脚本处理(WordPress等很多程序的实践,推荐)
过程:
1.开启apache的重写方法:
(1)打开/apache/conf/httpd.conf文件
修改:
修改:
</Directory>
将None修改成为All
2.设置重写文件:
(1)在要进行重写的工程下建立.htaccess文件:
创建方法:利用windows的命令提示符,输入 copy con .htaccess,此时控制界面没有变化,按ctrl+z,再按回车,文件被创建。在对应的路径下可以找到该文件。
(2)在htaccess文件中写重写代码:(如下为一个简单例子)
ErrorDocument 404 /404.txt
对于带参数的情况,也是这一种重写方法,只需要让自定义的名称与php文件名称对应上即可。
例如在这个例子中:
test?action=buy可以重写到test.php?action=buy
1.可以隐藏工程的内部文件结构。同时将较长的url变短。例如/function/test.php可以直接重写成/test。
2.可以利用方法名代替文件名,使方法的具体功能更加明显。如/CreateOrder 可以一眼看出就是创建订单的方法。
对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文件:
创建方法:利用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
相关文章推荐
- apache2.2.21下配置url地址重写 去掉index.php
- 在struts2中实现去掉后缀及url重写
- ThinkPHP如何URL如何去掉index.php(重写模式)
- php中关于ci框架修改后缀并去掉url中的index.php
- ThinkPHP中通过URL重写隐藏应用的入口文件index.php的相关服务器的配置
- 使用URLRewriter重写后,相同后缀后的真实静态文件无法访问的解决办法
- 关于Apache PHP实现无后缀名 URL重写
- nginx配置文件中去掉指定目录下面php的后缀
- .htaccess文件配置(去掉url里面的index.php)无效url后面加/
- 修改apache配置文件去除thinkphp url中的index.php
- ThinkPHP 在nginx环境下去掉URL中的index.php
- discuz如何去掉论坛的网页后缀名称forum.php
- Ajax 如何通过url 传递Json 数据或者数组 给PHP进行处理
- PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
- PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
- 如何去掉CodeIgniter URL中的index.php
- thinkphp项目在apache服务器中“去掉”index.php后出现找不到url的问题
- 去掉CodeIgniter(CI)默认url中的index.php的步骤:
- 如何去掉Magento默认URL中的index.php
- 怎么去掉discuz!的portal.php后缀