如果有使用第三方框架做项目时,url路径是可以同过框架给的方法来设定的(如thinkphp),但如果使用原生php写的项目又想重写url,则可通过apache的一些设置来达到想要的效果. 在更改apache的配置之前,应该先了解一些apache的知识:apache中的Directory标签的作用是用于标记我们如何在特定目录订制apache的行为.该标签里会有一个绝对路径,该路径就是你想订制行为的目录. 总体通过apache修改URL的思路就是,在.htaccess文来中对你想要重写的url地址进…
rewrite规则学习 我们新建一个.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$ index.php?id=$1 我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束! 好吧,现在我们可以实现伪静态页面了,写下一下的规则: Rewri…
想要在.htaccess中开启反向代理功能都不行[apache中没有mod_proxy模块] .htaccess 文件内容如下 RewriteEngine On RewriteBase / RewriteRule ^(.*)$ http://sogou.weixin.com/$1 [P] "proxy|P"(强制为代理) 此标记使替换成分被内部地强制作为代理请求发送,并立即中断重写处理,然后把处理移交给mod_proxy模块.你必须确保此替换串是一个能够被mod_proxy处理的有效U…
mod_rewrite模块提供了一个基于规则的(使用正则表达式分析器的)实时转向URL请求的引擎. 支持每个规则可以拥有不限数量的规则以及附加条件规则的灵活而且强大的URL操作机制. 此URL操作可以取决于各种测试,比如服务器变量.环境变量.HTTP头.时间标记, 甚至各种格式的用于匹配URL组成部分的查找数据库. mod_rewrite模块可以操作URL的所有部分(包括路径信息部分), 在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效, 还可以生成最终请求串.此重…
一.https原理 借用网上的图(图片来源: https://www.cnblogs.com/xiohao/p/9054355.html ),用到了对称加密和非对称加密.    二.ubuntu的apache中ssl证书配置 我们得到的证书一般为以下三个文件 xx.cn.key xx.cn_chain.crt xx.cn_public.crt   网上有很多配置方法,本人只讲自己最习惯的方法    1 合并xx.cn_public.crt和xx.cn_chain.crt 文件,生成 xx.cn.…
THINKPHP项目部署的apache 上面时,如果为了隐藏入口文件配置了重写URL,会导致将静态资源的URL也解析成Controller/Method,导致触发模块不存在 所以在URL重写配置中,需要排除静态文件目录,例如:(static|upload),... 在项目根目录下的.htaccess配置如下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{R…
启用mod_rewrite模块 在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉. 2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All Alias /php c:/web/php/ Directory c:/web/p 启用mod_rewrite模块在conf目录的httpd.conf文件中找到LoadM…
启用mod_rewrite模块在conf目录的httpd.conf文件中找到LoadModule rewrite_module modules/mod_rewrite.so将这一行前面的#去掉.2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride AllAlias /php "c:/web/php/"<Directory "c:/web/php/">Options Indexes Foll…
大家都知道Apache里面的Rewrite规则是一件很蛋疼的事情,有时候只是想做一个伪静态而已,不想去研究那些复杂的规则,可官方给的规则又常常出错,出了问题我们就要调试一下,看看提交的参数被映射到了哪里.在网上搜了一下全都是说在apache里面加RewriteLog,而且中文的介绍完全没有.     在旧的Apache的httpd.conf里面是有这样的参数的: ? 1 2 RewriteLog "/myfolder/mylogfile.log" RewriteLogLevel 3 但…
在终端中执行 sudo a2enmod rewrite 指令后,即启用了 Mod_rewrite 模块. 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块.用指令操作就是: sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabl…