将WordPress安装在自己的目录中,但永久链接失败

时间:2011-07-16 05:45:53

标签: wordpress .htaccess amazon-ec2 rewrite permalinks

我在位于/var/www/html/wordpress的EC2上安装了WordPress。我按照WordPress指南将index.php和.htaccess复制到root /var/www/html,并修改了index.php并在管理面板中进行了设置。如果我只坚持使用默认链接,例如:http://www.cubcanfly.com/?p=5,它会很有效,但是其他固定链接选项会失败,实际上所有固定链接选项都会失败。

我的 .htaccess

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

中的

LoadModule rewrite_module modules/mod_rewrite.so

未发表评论。

提前致谢

3 个答案:

答案 0 :(得分:7)

最后我发现了问题。它是httpd.conf中的AllowOverride选项,它位于/etc/httpd/conf/httpd.conf中,“sudo find / -name httpd.conf -print”可以很容易地找到它。 我更改了任何AllowOverride NONE-&gt; ALL我可以在文件中找到的地方。即使没有对.htaccess进行任何更改

,它也能正常工作
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

这个.htaccess可以在我的主机上运行,​​其中wordpress安装在自己的目录中。

谢谢@adlawson @Will,没有你,我找不到问题。

http://codex.wordpress.org/Using_Permalinks这个官方指南足以使用固定链接,即使wordpress安装在子目录中也是如此。

答案 1 :(得分:4)

看一下这篇文章How does RewriteBase work in .htaccess

您需要将RewriteBase /更改为RewriteBase /wordpress

答案 2 :(得分:0)

我不需要在.htaccess中编辑RewriteBase。 问题实际上是在EC2机器的httpd配置中。

我的.htaccess -

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

在/etc/httpd/conf/httpd.conf中 -

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

# 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