Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla:“忘记密码”和“忘记用户名”的登录链接断开了,与SEF有关吗?_Joomla_Joomla1.7_Joomla1.6_Joomla2.5 - Fatal编程技术网

Joomla:“忘记密码”和“忘记用户名”的登录链接断开了,与SEF有关吗?

Joomla:“忘记密码”和“忘记用户名”的登录链接断开了,与SEF有关吗?,joomla,joomla1.7,joomla1.6,joomla2.5,Joomla,Joomla1.7,Joomla1.6,Joomla2.5,今天早上收到了一个有趣的新错误报告-忘记了你的密码?忘了你的用户名?生成的链接似乎不起作用。我不记得实际测试过它们,所以这种方式可能已经有一段时间了 这是一个完全受密码保护的站点,因此登录表单是站点第一页上的唯一内容,并且仅使用该页面的单独精简模板。他们对我的本地版本进行SEF和URL重写…所以我很确定这与此有关,但没有发现任何异常。我也从未接触过与Joomla一起安装的.htaccess文件,除了重命名它,但我认为这与此有关,因为这是两个版本之间的唯一区别 本地:工作 Live:index.p

今天早上收到了一个有趣的新错误报告-忘记了你的密码?忘了你的用户名?生成的链接似乎不起作用。我不记得实际测试过它们,所以这种方式可能已经有一段时间了

这是一个完全受密码保护的站点,因此登录表单是站点第一页上的唯一内容,并且仅使用该页面的单独精简模板。他们对我的本地版本进行SEF和URL重写…所以我很确定这与此有关,但没有发现任何异常。我也从未接触过与Joomla一起安装的.htaccess文件,除了重命名它,但我认为这与此有关,因为这是两个版本之间的唯一区别

本地:工作

Live:index.php?options=com\u用户&gone

/?view=reset
/?view=remind
另外,虽然它在本地工作,但我不认为这就是它,我在登录页面的头部有一个条件,可以将任何拥有用户ID的人重定向到主站点,如果他们没有用户ID,那么什么也不会发生。在本地,“忘记密码/用户名”链接在一个半破损的内部页面模板上结束,而不是停留在第一页

有什么想法吗

谢谢

编辑

我有第二个远程站点,关闭了SEF URL,这些链接又回来了……但该站点依赖于它们。有人对.htaccess异常有什么建议吗?还是其他想法?谢谢

编辑2

以下是.htaccess文件:

##
# @version      $Id: htaccess.txt 20196 2011-01-09 02:40:25Z ian $
# @package      Joomla
# @copyright    Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.
# @license      GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
## End - Rewrite rules to block out some common exploits.

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/component/) [OR]
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
## End - Joomla! core SEF Section.

几个问题对不起,似乎不能在你的帖子上留言 您是否在livesite上启用了任何sef组件? 全局配置中的sef设置如何?
您是否已将htaccess.txt设置为.htaccess?

您发布的URL似乎是相对的,即它们没有锚定在域的根目录下。打开SEF后,页面的“明显”URL为/somthing/something-else.html

此“明显”url的相对url将中断

修复方法是在类中定义的configuration.php文件中添加一行,强制Joomla在页面中显示一行。这将修复“损坏的”相对URL

var $live_site = 'http://www.your-domain.com';

抱歉-我无法立即回忆起是否需要在url末尾添加斜杠-我认为不需要,但可能需要吸一下看看。

我猜这与htaccess文件没有任何关系。我需要更多的信息来确认我的怀疑是正确的,所以如果有任何假设是错误的,请告诉我

我猜您已经将站点的主页指定为登录菜单类型。获取忘记的密码?不过,您可能还将登录模块添加到主页,甚至可能隐藏主页的组件输出,作为剥离所有内容的一部分

将主页作为用户组件下的菜单类型将导致Joomla的路由器按照您的指定创建链接,因为路由器将首先查找与选项和视图匹配的菜单项,而未找到该菜单项的路由器将查找与选项匹配的菜单项,在您的情况下,该菜单项就是主页,即url中不需要任何内容。如果您的主页不是用户菜单类型,您将获得一个url,其中包含以下内容:组件/用户/?视图=提醒

即使使用主页的用户菜单类型,不同的部分仍应加载到主页上的组件输出中,因此实际上您只需取消隐藏组件输出,就可以看到显示的信息


或者,您可以创建新的菜单项,这些菜单项通常在其自己的菜单中提供给公众,其中包含用于重置、提醒和注册的项。然后链接将被/reset而不是/?view=reset,它将转到另一个页面,该页面应具有您需要的功能。

感谢您的回复。除了Joomla组件外,我没有任何SEF组件。htaccess.txt已更改为.htaccess。这些是SEO设置:y-y-y-n好的,你是否已经更改了htaccess文件中的任何内容?你给出的屏幕截图看起来没问题,所以很可能是htaccess文件…从未接触过任何内容-我将在上面发布。你在删除登录页面中的条件规则后尝试过吗?它也可能是你的主机的东西,所以值得与他们核实…我考虑了条件,尝试删除,但没有改变。肯定和海基会有关。在三台不同的主机上也试过了-同样的问题也是个好主意!。有LAMP服务器Linux/Apache/MySQL/PHP服务器吗?谢谢-少量搜索表明最后没有斜杠。不管怎样,尝试了几种不同的方法,但仍然不起作用:/Think we's on the right track Through;还有其他地方可以设置吗?有一条信息可能并不重要,该网站位于vs no www。我看不出这是怎么回事
t可以改变,但想把它扔出去。谢谢[请注意找到此线程的任何人-确保将configuration.php中的权限更改回444;可能需要通过您的cPanel才能执行此操作]感谢您的回复!我尝试取消隐藏组件,链接在那里,但仍然不正确。稍后,我将尝试菜单链接选项并报告。
var $live_site = 'http://www.your-domain.com';