找不到404,请求的网址&lt; <url name =“”>&gt;在wordpress </url>中找不到此服务器

时间:2015-03-16 10:20:46

标签: php linux wordpress apache .htaccess

我最近安装了wordpress,当我尝试更改固定链接格式时,我遇到了问题,

当我将固定链接从默认更改为日期和时间时

 Default    http://127.0.0.1/?p=123
 Day and name   http://127.0.0.1/2015/03/16/sample-post/ 

生成的链接不起作用,它给出了相同的error 404全部 时间,

 The requested URL /2015/03/16/post-5-problem/ was not found on this server.

但是当永久链接类型为默认值时,这种方法非常有效。

我找到了一些

的解决方案
sudo a2enmod rewrite

Module rewrite already enabled

另一个解决方案是将.htaccess文件的模式权限更改为666(为.htaccess文件的wordpress提供写入权限),然后将永久链接从默认更改为其他类型

sudo chmod 666 /address_of_.htaccess 

我检查了.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>

# END WordPress

但上面似乎是正确的,上面包含了wordpress本身

这两种解决方案似乎都不起作用,我是否还需要更改以启用永久链接选项?

4 个答案:

答案 0 :(得分:22)

如果是全新安装的Web服务器,则默认情况下不允许使用.htaccess规则。要解决这个问题,请编辑httpd.conf(通常是在/ etc / apache2中),找到

<Directory "path/to/your/document/root">    
    # ....

     AllowOverride None

    # ....

</Directory>

并更改

AllowOverride None

AllowOverride All

然后重新启动您的网络服务器,然后重试。

答案 1 :(得分:1)

从wordpress管理区域重置所需的固定链接,并在htaccess中添加此代码:

# BEGIN WordPress

<IfModule mod_rewrite.c>
ErrorDocument 404 /index.php?error=404
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

现在,查看博客文章和页面。

谢谢,

答案 2 :(得分:1)

您可以转到首选项->服务和端口,并且需要检查Apache的已启用ssl

对我有用

答案 3 :(得分:0)

您收到此错误是因为您的网络服务器无法找到该文件,并且未将该请求传递给Wordpress。

您需要为Wordpress添加重写规则,并且相关说明取决于您的Web服务器软件(Apache,nginx等)。

nginx示例:

location / {
       try_files $uri $uri/ /index.php?$args;
}

字面意思是:尝试打开&#34; / 2015/03/16 / post-5-problem /&#34;首先,在文件系统中,如果它不存在,请尝试添加斜杠,如果这不能帮助将请求传递给带有参数的index.php(这是Wordpress主文件)。

启用重写模块是不够的,您必须添加重写规则。