WordPress、Apache详细配置

最近学WordPress,在本地的虚拟机(xp)里安装了MYSQl、Apache等一些软件,进行了基本的关联。安装好了,虚拟机里WP可以访问,只是固定链接一修改,就不能使用了。按照网上的教程我已经开启了Apache的Rewrite,还是不行。
还有一个问题,主机里可以访问虚拟机的WP,但是页面总是显示不全,只显示文字,图片大多不能显示。访问PHPmyADmin就完全正常。
(等高手,不要再复制网上的东西了)

首先需要在配置httpd.conf以启用url rewrite功能:
将#LoadModule rewrite_module modules/mod_rewrite.so前面的注销去掉然后重启apache,在命令行使用httpd -M查看当前模块情况.如有rewrite_module(shared)说明模块已经成功加载.
配置目录的allowoverwrite属性:

在Apache 2.x 中,我们会看到 DocumentRoot设置的一行。这行就是存放网页程序的地方。比如存放在 c:/www 目录中,那么我们就要设置 DocumentRoot为如下的:

DocumentRoot "c:/www"

然后我们再还要对 DocumentRoot做针对性的行为设置。在一般的情况下,httpd.conf 会给一个默认的。如果你要改 DocumentRoot的路径,同时也要改针对DocumentRoot的Directory的设置,也就是

<Directory "DocumentRoot中设置的路径">

比如我们把DocumentRoot的路径改为了 “c:/www”,那我们也要把 DocumentRoot做针对性的行为设置也要改成这个路径.

注意不要修改一下default的配置

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

而是修改这里:

<Directory “c:/www”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# 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

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

把AllowOverride 的参数设置为ALL,表示整台服务器上的,都支持URL规则重写。Apache 服务器要读每个网站下的家目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则,则不会有任何效果。在一般的情况下,成熟的Web 服务器应用套件,都支持URL重写的,比如drupal和joomla 。当我们用这些程序时,会发现在安装包中有 .htaccess中有这个文件。我们把Apache配置好后,只是需要在这些程序的后台打开此功能就行了.

下面是WordPress安装包中的.htaccess文件

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress追问

第一个问题已经解决,谢谢!
从主机访问还是不见图片,外联的图片可见,本地的图片无法显示。虚拟机里访问正常。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-06
建议你把htdoc这样的网站根目录下的所有文件夹中的所有.htaccess都删除了,可能是某个文件导致rewrite规则出错了,我也遇到过类似的问题,从linux转移到windows下时出现过类似的情况。追问

wordpress目录下的也删?
全删了,重启了,依然那样。
wordpress自动生成了一个,反正现在还不行。你发一个完整的配置过程吧。

追答

一般严格按照教程走不会有太大问题,但是嘛,电脑的问题又各不相同,这个三言两语很难说清。
你先看看自动生成的.htaccess文件内容是什么,发上来看看。
然后看看你wordpress设置中的网站地址是什么,是不是填的IP而不是localhost。
查看一下首页源代码种图像的路径,在浏览器中直接输入图像地址看看给出的错误码是多少。

第2个回答  2011-05-06
这个需要虚拟机么?难道你用的不是xp系统?
如果不是作为服务器,推荐使用APML一键安装。追问

主机不是Xp的,你守旧了;
一键安装没意思,学得就是配置;

相似回答