Php 如果页面不存在,SEF Joomla不工作(404)

Php 如果页面不存在,SEF Joomla不工作(404),php,nginx,joomla,Php,Nginx,Joomla,我有一台带有Centos 6.5、Joomla和Nginx的服务器。一切正常,我让joomla中的SEF能够使用友好的URL,如: example.com/the-­news/1­-latest-­news/1-­welcome-­to­-joomla. 在nginx vhost example.conf中,我将行放在: location / { try_files $uri $uri/ /index.php?$args; } 这很好,但是如果我输入了一些不存在的UR

我有一台带有Centos 6.5、Joomla和Nginx的服务器。一切正常,我让joomla中的SEF能够使用友好的URL,如:

example.com/the-­news/1­-latest-­news/1-­welcome-­to­-joomla.
在nginx vhost example.conf中,我将行放在:

   location / {
      try_files $uri $uri/ /index.php?$args;
   }
这很好,但是如果我输入了一些不存在的URL,比如
example.com/asdasdasd
,那么我将被重定向到主页,索引(example.com),但我将显示joomla默认404错误页面,而不是重定向到索引页面

有人知道怎么做吗


谢谢大家

您可以通过.htaccess强制加载404页面:

ErrorDocument 404 http://yourdomain.com/404.php
将其放在.htaccess文件的顶部


编辑:替换
http://yourdomain.com/404.php
使用您的joomla 404 URL

您可以通过.htaccess强制加载404页面:

ErrorDocument 404 http://yourdomain.com/404.php
将其放在.htaccess文件的顶部


编辑:替换
http://yourdomain.com/404.php
使用您的joomla 404 URL

在joomla+nginx中,我可以使用.htaccess?您可以转换它。使用以下说明:
#nginx配置错误_第404页http://yourdomain.com/404.php;您不能使用nginx访问.htaccess。这是错误的,我没有特别说它可以与nginx一起使用,而是提供了nginx的配置说明。您可以将任何htaccess转换为nginx指令:我认为您的问题在于joomla,而不是nginx。您需要将args传递到index.php,并且做得很好,但是joomla没有重定向到404页面。我与joomla和nginx合作过,我从未配置nginx返回404,joomla是这样做的。你能检查一下do
curl-I吗http://example.com/asdasdasd
如果您收到joomla+nginx中的404或301代码,我可以使用.htaccess?您可以转换它。使用以下说明:
#nginx配置错误_第404页http://yourdomain.com/404.php;您不能使用nginx访问.htaccess。这是错误的,我没有特别说它可以与nginx一起使用,而是提供了nginx的配置说明。您可以将任何htaccess转换为nginx指令:我认为您的问题在于joomla,而不是nginx。您需要将args传递到index.php,并且做得很好,但是joomla没有重定向到404页面。我与joomla和nginx合作过,我从未配置nginx返回404,joomla是这样做的。你能检查一下do
curl-I吗http://example.com/asdasdasd
如果你收到404或301代码,那么你是说你应该得到404,但你改为重定向到主页?(这与人们通常问的相反)是的,Elin,我想显示模板404错误,而不是重定向到主页。如果SEF被禁用,这是可行的,但SEF重定向到主页,我不知道为什么和如何:/所以你说你应该得到404,但你是重定向到主页?(这与人们通常问的相反)是的,Elin,我想显示模板404错误,而不是重定向到主页。如果SEF被禁用,这是可行的,但SEF重定向到主页,我不知道为什么以及如何:/