• 欢迎访问水熊虫网站,这里是我个人的工作博客,内容大多是遇到问题完善后,会在这里进行总结归纳内容! QQ群
  • 网站导航中的友情链接专栏上线,更新的都是自己这三年整理的一些东西,感兴趣可以看看!
  • 你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经!

♡wdcp设置伪静态之apache篇

LANMP环境 WaterBear 3年前 (2017-07-01) 246次浏览 已收录 扫描二维码
Q:wdcp使用apache+nginx 或者只用 apache,是否支持伪静态?
A:首先wdcp肯定是支持apache伪静态的,在服务器上执行 /www/wdlinux/apache/bin/httpd -l   列出的模块中包含mod_rewrite.c ,说明已经支持。(新版wdcp3.2.X版本除外,该命令不会在该版本显示对应重写模块。)
Q:为什么httpd.conf文件中没有 LoadModule rewrite_module modules/mod_rewrite.so  这行信息,服务器上也找不到mod_rewrite.so 这个伪静态的so文件,是不是wdcp的apache不支持伪静态功能?
A:没有so文件及加载模块信息,原因很简单, 只有动态形式编译安装才有这些信息,而wdcp的apache是静态编译安装的,伪静态功能已经直接编译进apache里了。(新版wdcp3.2.X版本除外,该版本在对应httpd.conf文件中找得到对应重写模块加载语句。)
Q:wdcp使用不同的web服务引擎,具体该使用哪种伪静态规则?
A:如果我们用的web服务引擎是apache+nginx 或者只用apache,那么我们用的规则是apache的规则;如果web服务引擎只使用nginx,那么我们就要用nginx的伪静态规则。 (新版wdcp3.2.X版本仍遵循该规则)
新版本WDCP 3.2.X版本加载伪静态规则时的注意事项:

新版本WDCP 3.2.X版本由于可以切换PHP版本,所以设置伪静态规则时注意一个问题:
在开设站点时,请留意PHP版本切换选项:使用默认PHP版本则网站使用PHP+apache的架构,若使用指定的PHP版本则网站使用的是PHP+Nginxd的构架。所以要使用apache的伪静态规则,则需要先设定默认的PHP版本后再开通站点选择默认PHP版本选项。

为更好理解下面截图所示默认网站使用PHP5.6版本PHP,需要加载apache伪静态规则设置如下:

♡wdcp设置伪静态之apache篇
 
♡wdcp设置伪静态之apache篇


 
wdcp加载apache的伪静态规则有三种方法:

[v_organge]1、站点的web根目录中放置.htaccess伪静态规则文件[/v_organge]
此种方法需要注意的是,apache的站点配置文件中Dircetory部分,AllowOverride一定要是All,如果是None需要改成All, None是不支持加载.htaccess文件的。

<Directory /www/web/zouni>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

 

[v_organge]2、在apache的站点配置文件中,VirtualHost部分之内直接添加伪静态规则,下面代码中 mod_rewrite.c 模块中的内容为添加内容,伪静态规则要写在<IfModule mod_rewrite.c> </IfModule>模块中。[/v_organge]
代码中的伪静态规则只是举例说明,具体的规则以网站实际的站点规则为准。

<VirtualHost *:88>
DocumentRoot /www/web/zouni/public_html
..........................................
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3
</IfModule>
..........................................
</VirtualHost>

重启web服务使设置生效。

[v_organge]3、在wdcp的web后台添加伪静态规则[/v_organge]
首先增加伪静态规则文件
♡wdcp设置伪静态之apache篇

指定规则保存的文件名,增加规则后并保存

♡wdcp设置伪静态之apache篇

新增或编辑站点配置时,启用rewirte,并选择对应的规则文件保存设置

♡wdcp设置伪静态之apache篇

重启web服务使设置生效。

 

关于nginx+apache环境伪静态规则是否有效的测试方法

在使用nginx+apache引擎的时候需要的伪静态无法使用的问题,请按照如下方式进行测试:

1.登录wdcp控制面板新建一个测试站点;
2.在测试站点根目录写入如下index.php测试代码页面:

<?php
header("Content-type: text/html; charset=utf-8");
echo 'action:'.$_GET['action'].'<br>id:'.$_GET['id'];
?>

3.在测试站点根目录写入如下.htacccess文件:

RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2

4.访问如下url(test.example.com为你实际之用的域名或者IP),查看页面输出结果:

在浏览器中输入test.example.com/test-2013.html
如果页面能够输出如:
action:test
id:2013
则说明环境支持伪静态。


WaterBear , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:♡wdcp设置伪静态之apache篇
喜欢 (0)
[[email protected]]
分享 (0)