Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则
表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等,
如一个普通访问地址为
*/news.php?id=2
可以转成:
*/news_2.html
或转成:
*/news_2/
配置httpd.conf
支持httpd.conf 配置和目录.htaccess配置
启用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so
去除前面的 #
LoadModule rewrite_module modules/mod_rewrite.so
启用.htaccess(支持配置文件中读取规范)
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
AllowOverride ALL
#启动rewrite引擎
RewriteEngine on
#[NC]->不区分大小写
RewriteCond %{HTTP_HOST} !^www.test.com [NC]
RewriteRule ^/(.*) http://www.test.com/ [L] #如果上面执行不成功则返回首页
#第一个参数是浏览器地址栏的url,第二个参数是真正的url
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
.htaccess文件示例如下:
# BEGIN WordPress
mod_rewrite 规则修正符
R 强制外部重定向
F 禁用URL,返回403HTTP状态码。
G 强制URL为GONE,返回410HTTP状态码。
P 强制使用代理转发。
L 表明当前规则是最后一条规则,停止分析以后规则的重写。
N 重新从第一条规则开始运行重写过程。
C 与下一条规则关联
在wordpre网站根目录下建立.htaccess文件
书写rwrite 规则
RewriteEngine On
RewriteRule index_([0-9]*).html$ /index.php?a=$1
第一次安装wordpress时,访问wordpress一点要写成自己的ip而不是localhost,否者css和image不会加载。
因为数据的options表会记录你的访问域名,如果是localhost了,就。。。
apache的http.conf配置加载php模块时,apache必须是2.2版本的。php最好是5.3版本的。
可以从官网下载httpd-2.2.25-win32-x86-openssl-0.9.8y.msi.
###################php支持mysql################################
第一步:
确认开启以下扩展
extension=php_mysql.dll
extension=php_mysqli.dll
第二步:
找到
; On windows:
; extension_dir = "ext"
去除前面的分号,并改为
extension_dir = "D:/php5/ext"
##################apache的php加载模块和php.ini加载##############################
LoadModule php5_module "E:/tools/php/php5apache2_2.dll"
PHPIniDir "E:/tools/php"
AddType application/x-httpd-php .php
更改apache的主页,否则wordpress只显示目录。
DirectoryIndex index.html index.php
DirectoryIndex index.html index.php
DirectoryIndex index.html index.php
DirectoryIndex index.html index.php
wind主机上的伪静态配置文件名是httpd.ini,Linux系统下的伪静态文件名为.htaccess,大家不要搞错了,如果你是WIN主机,请看wordpress伪静态规则-WIN主机。
wordpress不能注册解决办法
为了防止垃圾邮件,禁止了系统的sendmail功能,wordpress用户只需要安装一个官方的smtp插件即可使用外接的邮件服务器来发信.
如果不设置这个,游客或其他用户发表评论是可能会需要等待非常长的时间才能发出评论或出现脚本错误.
插件地址:http://wordpress.org/extend/plugins/wp-mail-smtp/
安装好后先到后台plugins里去激活(Activate)WP-Mail-SMTP插件,然后后台左下方的设置(settings)里会出现email设置选项,
以gmail为例:
From Email:你的gmail地址
From Name:发信人姓名,随便填
Mailer:Send all WordPress emails via SMTP.
SMTP Host:smtp.gmail.com
SMTP Port:465
Encryption:Use SSL encryption.
Authentication:Yes: Use SMTP authenticati
Username:你的gmail用户名(企业版用户请填写邮件地址)
Password:你的gmail密码
extension=php_sockets.dll
将前面的分号;去掉,重启web服务器即可解决。
有的朋友这样做却发现ssl没有生效,那么有个办法,就是将dlls文件夹里面的ssleay32.dll和libeay32.dll文件拷贝到 C:\WINDOWS\system32 文件夹。
那么如何判定ssl是否生效呢?就要查看phpinfo了,写一个简单的phpinfo()测试程序,找到openssl这个位置,如果OpenSSL support是enabled就说明ssl已经开启。
QQMAIL的设置
接收邮件服务器:pop.qq.com,使用SSL,端口号995
发送邮件服务器:smtp.qq.com,使用SSL,端口号25
账户名:您的QQ邮箱账户名(如果您是VIP帐号或Foxmail帐号,账户名需要填写完整的邮件地址)
密码:您的QQ邮箱密码
电子邮件地址:您的QQ邮箱的完整邮件地址
打开 wp-includes/formatting.php,找到
function sanitize_user( $username, $strict = false ) {
把 $strict 强制指定为 false,即在 sanitize_user 这行函数的下一行添加如下代码
$strict = false;
或者注释掉
//$username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );
这样就一切OK了!
不过,需要注意的是,在下次升级的时候,还需要做同样的处理。