在Joomla 2.5中激活SEO设置后出错

问题描述 投票:0回答:1

我正在为Joomla 2.5使用Shape5企业响应模板

为了让我激活SEO freidnly网站我不得不:1-将htaccess.txt更改为.htaccess 2-在全局配置中将搜索引擎友好URL从No改为是3-更改使用URL从No重写为Yes

之后模板运行但我创建的菜单不起作用,当我点击它时,它说:

未找到

在此服务器上找不到请求的URL /联系人。

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

我已经做过这个测试:http://docs.joomla.org/How_to_check_if_mod_rewrite_is_enabled_on_your_server

我的mod_rewrite已启用。

我也在htaccess中将“#RewriteBase /”编辑为“RewriteBase /”,但没有运气。

这是我的htaccess:

> # @package        Joomla
> # @copyright  Copyright (C) 2005 - 2012 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)([^s]*s)+cript.*(>|%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})
> # Return 403 Forbidden header and show the content of the root homepage RewriteRule .* index.php [F]
> #
> ## End - Rewrite rules to block out some common exploits.
> 
> ## Begin - Custom redirects
> #
> # If you need to redirect some pages, or set a canonical non-www to
> # www redirect (or vice versa), place that code here. Ensure those
> # redirects use the correct RewriteRule syntax and the [R=301,L] flags.
> #
> ## End - Custom redirects
> 
> ##
> # 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.
> # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
> #
> # If the requested path and file is not /index.php and the request
> # has not already been internally rewritten to the index.php script RewriteCond %{REQUEST_URI} ^GET
> # and the request is for something within the component folder,
> # or for the site root, or for an extensionless URL, or the
> # requested URL ends with one of the listed extensions RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$
> [NC]
> # and the requested path and file doesn't directly match a physical file RewriteCond %{REQUEST_FILENAME} !-f
> # and the requested path and file doesn't directly match a physical folder RewriteCond %{REQUEST_FILENAME} !-d
> # internally rewrite the request to the index.php script RewriteRule .* index.php [L]
> #
> ## End - Joomla! core SEF Section.

我该如何解决这个问题?

joomla2.5
1个回答
0
投票

我找到了解决方案,只需在.htaccess文件中添加替换此代码:

AddHandler x-httpd-php5 .php
AddHandler x-httpd-php .php4
##
# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $
# @package Joomla
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  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!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via 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} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
© www.soinside.com 2019 - 2024. All rights reserved.