(高手不想听我唠叨的请直接拉到文末看问题描述,谢谢!)
下定决心好好折腾一把wp。虽然说这玩意儿是传说中的傻瓜式,但我好歹也用了快两年了,至今仍停留在后台发发文删删垃圾留言的状态有点说不过去。
于是把水煮鱼老师的教程研读了一遍,发现还得先安装一个XAMPP,以方便在本地调戏调试wp,要不然随便一搞把网站搞挂了怎么办?我可是一分钟三百万上下的成功人士呢。
所以乖乖的安装了xampp lite,不出意料,用什么东西都能出问题的我,运行apache的时候端口冲突了。在网上google了一下,把httpd.conf文件里面所有的80都改成8081,OK了。然后是在本地安装wp,这个没问题,我熟门熟路了已经,接下来是导入现有的数据库,我歪着脑袋想了很久以前vichare教我的phpmyadmin导出功能,总算磕磕绊绊的把本地wp镜像给建好了。
搞这个镜像有啥用呢?主要是我的blog有一个奇怪的问题:不少以前的留言在后台看是重复的,但是前台看却没有,也就是说莫名其妙多了好多的留言出来。究其原因,可能是某次我重装wp的时候,导入数据库操作有问题吧?以前这也只是影响后台,所以我就假装忽略了,这次有机会拿我就好好搞搞它。
在wp_comment这个表里面找出几条冗余的留言,发现了他们的一个共同特点,就是comment_post_ID这个值为0。为了印证这个想法,我拼命回想了半天这个学期刚学的SQL语句:SELECT * FROM wp_comment WHERE comment_post_ID = 0,果然筛选出了700条多余的留言,于是一句删除语句,OK啦,世界清净啦!
这下我信心大增,这事情都能搞定,我无敌啦!于是一边看一点wp官方的codex,一边小小的在本地修改正在使用的这个主题,想把细节搞好一点。
话说昨天我正好看到了这个“动态菜单高亮”,觉得十分神奇,于是就想一试。但有个问题,本地搭建的wp好像不能用permalink(一用就404),只能用默认的?p=xx这种链接形势,这也就罢了,可是页面的链接也变成了page_id=xx,很不爽。于是就想把permalink给搞回来。
google一圈下来的信息大致是:这是因为mod_rewrite功能没有开启所致,而xampp lite版默认是没有开启mod_rewrite的。按照网上的教程(说一句,原来网上疯狂转载的一个xampp简易教程竟然是柠檬写的,汗),修改了httpd.conf,然后重启apache,进后台开启permalink,然后点击,——咦,这次没有404了,但是竟然自动跳到xampp首页去了!
我先以为是开启不彻底的原因,所以一会儿重启电脑,一会儿重启apache,搞来搞去,依然没有用。于是我觉得可能是wp出了问题,那么,清空数据库,删掉wp_config.php,俺们来重装wp!
结果,这一重装,出问题了。
填好数据库名称、账号、密码之后,点击“run the install”,然后就一直loading啊loading,一眼望不到边。终于停止了,一看,空白页。检查文件,发现wp-config.php根本就没有被创建,打开blog首页的时候继续提醒你安装。无奈中,我想是不是wp安装包出问题了,于是从官网上下载了最新的2.7(我一直死不悔改的用着2.5不肯升级),复制粘贴,安装,终于报了个错:
Warning: require(C:\Program Files\xampp\htdocs\wordpress/wp-includes/http.php) [function.require]: failed to open stream: No such file or directory in C:\Program Files\xampp\htdocs\wordpress\wp-settings.php on line 310
Fatal error: require() [function.require]: Failed opening required 'C:\Program Files\xampp\htdocs\wordpress/wp-includes/http.php' (include_path='.;C:\Program Files\xampp\php\pear\') in C:\Program Files\xampp\htdocs\wordpress\wp-settings.php on line 310
问hidecloud,他告诉我说,是xampp出问题了……
好吧,我还保留着xampp的安装文件,重装好了。
重装之后,问题没有解决,还是老样子。又有人跟我说,lite版的功能不全,可能会是这个的问题,于是我又吭哧吭哧下载了一个完整版的,安装,还是没有解决。这时候我又google出一条信息,说多次安装xampp后可能注册表里会有以前安装过的信息,这样即使重装也没什么用。于是我又吭哧吭哧搜索注册表里所有带有apache和mysqld的条目,能干掉的全都干掉了,再重装,——这下可好,apache和mysql,都启动不起来了,显示端口冲突,可是我用netstat看了半天也没发现有什么东西占了那几个端口的(主要是mysql的3306端口),修改了也没用,所以我只有投降了。
最后,我在家里的台式机上安装了xampp(安装过程及其顺利,连端口都不用改),又把wp原原本本的搬了一次,修改permalink,还是没有用!我已经无语了,这时候阿禅童鞋事后诸葛亮般的跟我说:windows主机都是不能用permalink的。我批评了他的错误思想,因为网上那么多文章写着教程呢,都说把mod rewrite开启了就可以了,怎么会不行呢?
但当我半信半疑的查看wp的codex的时候,脑中还是“叮”的敲了一下,传说中,传说中的,index.php大法……
是的,最后的半吊子解决方案,就是我妥协了,在所有的url中加上了那个丑陋的/index.php/,算是伪permalink了,将就着先用吧。
最后再吼一声我的问题,望牛仁能给点建议:
问题:本地搭建的wordpress上不能使用permalink
环境:win XP sp2, 官方下载的完整版xampp 1.7.0, wordpress 2.5
xampp已去掉mod_rewrite.so前面的那个井号,AllowOverride也改成了All
.htaccess文件是存在的描述:开启permalink功能后,单篇文章点进去的时候直接跳转到xampp主页(注意不是提示404错误)。
url中插入/index.php/后可用,但我不想要这个恶心的东西啊……
update:搞定了,居然是.htaccess文件的问题……因为我是很久之前建的.htaccess,又传说wp会对它自动更新,所以我怎么也想不到会是这个的问题……重新建一个就好了,具体的看这条留言。感谢!CnSoLoer童鞋!
Tags: 伪挨踢 衰人正传
也许还有这些:
37坨评论
-
Elton Disney
貌似沙发??
我本地的时候用EasyPHP,然后rewrite了一下子数据库,就不有问题了,但是没有进行同步,反正都是折腾,需要的时候导入数据库就好了 -
Denis
SLUG 很强大!
===== maoz replies =====
您还不睡,不是传说中明天要聚会的吗
-
lonnie
我不懂您的问题,不过提两个问题哦:
1. 80端口被谁占了?
2. XP是不是应该升到sp3比较好?
3. C:\Program Files\xampp\htdocs\wordpress/wp-includes/http.php这个文件有吗?是不是正反斜杠的问题?===== maoz replies =====
1、一般说来是firefox
2、好像是
3、我不知道了…… -
lonnie
er 是三个……
===== maoz replies =====
全国理的人就三个字:不会数数!
-
blogkid
我怀疑是不是RewriteBase没有设置对,你的文件是放在网站根目录下的?
===== maoz replies =====
我这是本地的,就放在xampp的htdocs路径下,建了一个wordpress文件夹
您说的那个是什么设置? -
漫步
删除 .htaccess, 重新设置一下永久链接格式, 另外也许可能可以考虑升级一下wp 的版本...
===== maoz replies =====
为什么要删除.htaccess呢?删了还需要重建吗?
我想把这个搞了之后在本地升级一下体验看看,因为我不是很喜欢2.7的后台,也不是很想用thread comment,不知道除了这些还有啥好处…… -
胡作非为
我不发表评论,我怎么没学计算机呢?
-
!CnSoLoer
有这么麻烦?
我vista ,用的是XAMPP 1.7.0 免安装版的zip包,不是 lite版的。可以自定义链接的。
url 中的index.php可以在.htaccess里面定义去掉。===== maoz replies =====
咋的去掉?
您的.htaccess文件里面是什么内容? -
!CnSoLoer
如果怀疑是以前的 XAMPP 搞的鬼,你也可以先把原来的 XAMPP 重新安装一遍,在卸载。再安装一遍完整版的。
===== maoz replies =====
我说过了,我重装n遍了,注册表都删完了……现在是放在一台从未装过的电脑上的,xampp正常运行中
-
sein
maoz 姐姐真厉害
===== maoz replies =====
sein叔叔不帮帮我?
-
othor
说个与本文不相关的建议,我都是直接在线修改主题滴。80端口是被apache自身占用的,在前面加个#也可以。小请求:能否把您的wp2.5给通过邮箱传给我捏?网上这个版本很少了,有也好多有错误…我讨厌2.7…我将无上感谢
===== maoz replies =====
端口现在已经不是问题了
我怕我把主题乱搞给搞坏了……
内什么,握手!我也不喜欢2.7!
不过,是不是2.7的数据库跟2.5的是不太一样的?直接降级是不是会有问题? -
ZhouGe
我记得谁告诉过我在XP用不了permalink ,所以我在本地一直没有用。我也关注一下解决办法~
-
Black-Xstar
不是windows下无法用rewrite,而是IIS下无法直接用rewrite而已。
其实xampp开启rewrite模块后可以用permalink,我以前成功过。
可能是新版本很有某些新特性,建议换个旧版本的xampp试试看?再或者,手动安装apache+mysql+php试试看?
===== maoz replies =====
是丫,我查到的信息也都说是IIS才不能rewrite,都说xampp是可以的
旧版本……汗,我记得在哪儿看到说这个东西要apache一定版本以上才能支持的……太折腾了,罪过啊罪过
-
!CnSoLoer
xmapp 我用过两个版本的,现在的1.7,还有前面用过一个版本不知道是1.68,还是1.67,都没遇到啥问题的,xp我没试过,我的是vista。自定义永久链接没出现过你这样的问题,你所介绍的index.php出现在的url里面只是以前在windows平台里面架wp出现的无法解决的问题(貌似有插件实现过),但在xampp这个模拟的apache平台肯定是可以解决的。
可以试试.htaccess。首先看看你的index.php同目录下有没有.htaccess 文件(一般就是wordpress根目录)。没有建一个,然后在后台改变一下permalink,.htaccess里面即被写入,
# BEGIN WordPressRewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]# END WordPress
(我的wordpress 安装在\xampp\htdocs\wordpress\目录下)
正常使用。
如果还是不能去掉(确认你没有在permalink中定义了index.php 字样),可以试试这个
http://htaccess.wordpress.com/2007/12/08/removing-indexphp-with-htaccess/
(可能需要用代理才能访问到)或者直接看这里:http://www.build-your-website.co.uk/Blogging/Wordpress-htaccess.htm
其实一般情况下是不会出现在xampp里面安装wordpress,自定义的permalink里面还存在index.php的。
===== maoz replies =====
哎呀呀呀,照你说的重新改了一下.htaccess,居然好了……
谢谢谢谢了 -
bread
xampp...
既然打算折腾,干嘛不自己整合
这种第三方整合的虽然刚开始觉得方便...
万一出了问题...刚开始的那些方便,全都搭进去了===== maoz replies =====
我不太会……主要是因为满世界都是xampp的傻瓜教程,所以……
-
Johnny
xmapp 我倒没用过,我用的是IIS+PHP的
permalink嘛,用了IIS rewrite就可以搞定 -
lonnie
firefox应该不会占80啊,我的firefox怎么不占80?
-
lonnie
总之80端口被无端打开着不是什么好兆头。
-
leehow
我拉到文末也没有办法...
-
netputer
阿姨真是爱折腾,像我,直接用 PHPNow ,然后再改几个参数就完美调戏 WP 了嘛,你还被调戏,真……
===== maoz replies =====
小朋友,我甘拜下风……
-
kc
楼上用phpnow的朋友,我记得我用那玩意的时候好痛苦,有时间再折腾下,没解决的话问你好了. 用APPSERV装康盛的玩意结果始终没弄明白zend到底要怎么装.
强烈建议不要本地折腾了,随便找个空间试试就好.
80端口比较有可能是迅雷占着.===== maoz replies =====
没装迅雷
-
雪梨
maoz 姐姐真厉害~~
===== maoz replies =====
别说风凉话了……
-
大猫
小猫,看到有人叫阿姨。。。
我先去刮胡子。。。===== maoz replies =====
我……我无法抑止的老去了……
-
Tracy
很久没调戏wp了,呵呵。
-
Black-Xstar
原来maoz姐姐搞定啦,恭喜!
-
Showfom
迅雷要占用80端口的
每次都要关闭
本地测试用phpnow也不错的 -
hoorace
终于看到传说中的maoz阿姨的blog了,你的blog上果然和传说中的效果一样!
===== maoz replies =====
你为什么要叫我阿姨,为!什!么!
-
Showfom
想和阿姨交换链接
我已经做好你的了...===== maoz replies =====
不好意思,不交换链接的
-
。。。
飘
===== maoz replies =====
拍飞
-
雪梨
为何迅雷要占用 80 端口啊
===== maoz replies =====
你应该去问迅雷的人 = =
-
[FeedBack] 被wordpress搞 > Feed博客聚合
[...] update:搞定了,居然是.htaccess文件的问题……因为我是很久之前建的.htaccess,又传说wp会对它自动更新,所以我怎么也想不到会是这个的问题……重新建一个就好了,具体的看这条留言。感谢!CnSoLoer童鞋! [...]
-
kc
像maoz这么能折腾的人少见呵,无论是上飞机还是看医生,总是一波三折,但不管怎样,你得承认她最终解决了问题,而她的分享也给了大家快乐.
ls的朋友,因为迅雷bt下载的默认tcp监听端口是80.
maoz可以用苹果茶把本地调戏好的wp弄出来大家瞅瞅.你的电脑到底是什么占用了80呢,好奇下.===== maoz replies =====
谢谢谢谢哦~~~好开心
其实……我没有解决的问题也有不少……但是本着娱乐原则,一般烂摊子我就不写在这里了,hiahia
我也不知道什么东西占了80,最近又装了一次,居然好了 -
Showfom
哦,不交换链接哇。。。那算了,嘿嘿。
以后常来看看阿姨的博客
===== maoz replies =====
不要叫我阿姨 - -
-
febird
哈哈,曾经看到Jason的twitter上好像那天有你这个ID,maoz,帽子,不知是蓝帽子还是绿帽子..
要看你哪个程序占用了80,很简单哪,netstat -aon|findstr "80" 然后找出 PID,打开任务管理器找出PID的进程就OK啊。
===== maoz replies =====
回帖不看帖……我文中说了,nestat检查不出来
-
365
840
-
780
833
-
人造处女膜
回帖不看帖……我文中说了,nestat检查不出来
