apache2的php
A. Apache如何开启Mod_rewrite模块以及phpWind伪静态(全伪)
要开启Apache的Mod_rewrite模块,首先需要进入Apache配置文件httpd.conf,位于Apache2\conf路径下。在该文件中,搜索到LoadMole rewrite_mole moles/mod_rewrite.so这一行,去掉前面的#符号,表明该模块可以被加载。接下来,继续在httpd.conf文件中搜索AllowOverride None,找到与之相似的配置项,并将其替换为AllowOverride All。这样做的目的是为了允许服务器解析.htaccess文件,进而实现URL重写功能。
完成上述配置后,需要重启Apache服务以使更改生效。重启Apache的方法取决于您的操作系统。例如,在Windows上,可以通过Apache安装目录下的httpd.exe文件来重启服务。而在linux上,可以使用命令行工具,如在终端中输入“sudo service httpd restart”。重启后,Mod_rewrite模块应该已经成功启用。
开启Mod_rewrite模块后,可以利用PHPWind的伪静态功能,为网站提供更简洁友好的URL。在PHPWind中,通常需要编辑配置文件,以配置URL重写规则。在httpd.conf文件中,设置AllowOverride All后,可以在网站根目录下创建.htaccess文件,编写具体的URL重写规则。这些规则可以将访问者请求的URL转换为PHPWind系统能够识别的内部URL,从而实现伪静态效果。
编写.htaccess文件时,可以使用如下的伪静态规则示例:
<IfMole mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfMole>
以上规则将所有非文件和非目录的请求路由到index.php文件处理。通过这种方式,可以为PHPWind网站创建一个更加用户友好的URL结构。
需要注意的是,启用Mod_rewrite模块可能会对服务器性能产生一定影响,尤其是在处理大量请求时。因此,在实际应用中,建议根据具体需求和服务器负载情况,谨慎调整相关配置。
此外,还需要确保Apache服务器正确配置了相应的PHP模块,以支持PHPWind的运行。这通常涉及到在httpd.conf文件中加载php_mole,并在虚拟主机配置中指定正确的PHP处理方式。
B. linux下apache2和php乱码问题
# # 完全原创 # #
windows上倒是遇见过很多中乱码,但有些部分应该是差不多的。有参考其他资料,但没有直接复制大段文字,是自己一点点总结出来的。希望能够帮到你。影响因素较多,一一列出1. apache的httpd.conf中有默认编码的设置 ,例如 AddDefaultCharset utf-8,这个会有一定影响
2. php的php.ini中也有默认编码的设置,例如default_charset = "utf-8",只能有一个默认编码
3. 数据库字段使用的编码:如果是Latin很容易乱码的
4. php源代码文件的编码:源代码在开发过程中,文本存为文件本身也是有编码方式的。
5. php代码中使用header控制编码(可以省略)
<?php
header(“Content-Type: text/html; charset=utf-8");
?>
6. 网页前台的编码
html代码中的meta <meta http-equiv="content-type" content="text/html;charset=utf-8">
实际应用中,改变服务器设置不现实,尤其是租服务器,主机提供商不会帮你改的
因此,从3456入手,而且各个部分应该一直、匹配。
也就是说,数据库用了utf-8,那么源码也存成utf-8,网页前台也content="text/html;charset=utf-8"附加说明:
第4点:
一般IDE(例如ZendStudio)是可以指定代码编码的,但是有一些例外:
使用Win7的记事本修改后,存为utf-8,会加入windows特有的utf-8标记“BOM”,这是微软为了标记编码在文件头加的额外信息,这样的源代码被执行后,BOM会发往客户端!客户端收到的网页开头是乱的,因为BOM打乱了内容编码的解析
在Mac上使用编辑工具修改源代码后,代码的存储编码会发生较大变化,本人在于团队合作过程中也因此出现较多问题,不推荐使用系统(win/mac)自带的一些文本编辑工具(即使他们有代码高亮或代码提示)
使用成熟的IDE是很不错的办法第5点:
用header控制编码要注意和其他设置头(header)的操作的前后关系,容易导致 “无法修改已发送的头”的错误
用这个其实有时候实属无奈,但很有效第6点:
请把<meta http-equiv="content-type" content="text/html;charset=utf-8"> 放到<title></title>之前!!
因为如果title包含中文,很可能悲剧。本人遇到过两次整站直接空白无法显示出来的问题,就是因为次序问题。
C. 在局域网内,用Apache2建了PHP服务器,IP地址是自动获取,建立了虚拟主机,如何在别的电脑上来访问站点
server启动之后,查看他的IP地址是多少,这个就不赘述了,假如看到的是192.168.1.2,在看你当时做虚拟主机的端口是多少,默认一个是80,在另外一台机器上,打开浏览器,输入http://192.168.1.2:80 就可以访问了,具体参数查看你的服务器的设置。另外一个网站的访问http://192.168.1.2:X, 80和X的端口号具体是多少,你应该清楚,或者上apache去查吧