404未find,请求的url<< url name >>在这个服务器上找不到wordpress

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

当我从默认更改永久链接到date和时间

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. 

但是,当永久链接types默认情况下,这是完美的。

我find了一些解决scheme

 sudo a2enmod rewrite Module rewrite already enabled 

另一个解决scheme是将.htaccess文件的模式权限更改为666(给予.htaccess文件wordpress的写入权限),然后将永久链接从默认更改为其他types,

 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本身

这两个解决scheme似乎没有工作,是否有任何其他的事情,我必须改变,以启用永久链接选项?

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

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

并改变

 AllowOverride None 

 AllowOverride All 

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

从WordPress的管理员区重置您想要的永久链接,并在htaccess中添加以下代码:

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

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

谢谢,

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

你需要为你的Wordpress添加重写规则,并且指令取决于你的网络服务器软件(Apache,nginx等)。

nginx的例子:

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

这实际上意味着:尝试在文件系统中首先打开“/ 2015/03/16 / post-5-problem /”,如果不存在,则尝试添加斜杠,如果这样做不能将请求传递给索引。 PHP(这是Wordpress的主要文件)的参数。

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