无法设置 Joomla 自定义 404 页面,该页面也是 returns 404 代码而不是 200(不重复)
Trouble setting up Joomla Custom 404 page that also returns 404 code and not 200 (NOT DUPLICATE)
我在使用自定义 404 页面时遇到问题,
所以我一直在尝试让自定义 404 页面正常工作,但我在使其正常工作时遇到了问题。到处都有描述的所有方法:
1.make自定义404页面,
2.add 它到菜单
3.copy error.php 来自系统并使用 this code. 进行设置。
没有正常工作,它 returns 代码 200 而不是 404 页面(因为它找到了页面)这对 SEO 不利,因为 google 认为任何可能的页面网站很好(代码 200)。
我购买了一个名为 Rapi custom 404 (link) 的插件,但它不起作用。 Rapi 的技术支持为我提供了一个新的自定义 error.php 页面,其中包含:
<?php
defined ('_JEXEC') or die();
$plugin = JPluginHelper::getPlugin('system', 'rapi_custom_404_page');
$params = new JRegistry($plugin->params);
$page_title = $params->get('error_title', "404 - Page Not Found");
$heading_text = $params->get('heading_text', "OOPS! Page Not Found");
$description_text = $params->get('description_text', "The page you are looking for doesn't exist");
$home_button_text = $params->get('home_button_text', "Go Home");
$theme = $params->get('theme', '1');
include "plugins/system/rapi_custom_404_page/themes/theme{$theme}.php";
?>
它仍然不起作用,不是我认为错误来自 .htaccess 页面。我一直在玩弄它,现在我有这个:
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2018 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 'Options +FollowSymLinks' may cause problems with some server configurations.
# It is required for the use of mod_rewrite, but it may have already been set by your
# server administrator in a way that disallows changing it in this .htaccess file.
# If using it causes your site to produce an error, comment it out (add # to the
# beginning of the line), reload your site in your browser and test your sef urls. If
# they work, then it has been set by your server administrator and you do not need to
# set it here.
##
## No directory listings
<IfModule autoindex>
IndexIgnore *
</IfModule>
## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks
Options -Indexes
## Mod_rewrite in use.
RewriteEngine On
ErrorDocument 404 /templates/e4jdrivers/error.php
## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site then comment out the operations listed
# below by adding a # to the beginning of the line.
# This attempts to block the most common type of exploit `attempts` on Joomla!
#
# Block any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block 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 home page
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 the 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} !^/index\.php
# 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.
有没有人可以帮助我修复我的 .htaccess 页面以使其正常工作?非常感谢
//请不要标记重复,我正在研究这 3 天,没有修复它的解决方案并且有效。
//请不要告诉我在 joomla.stackexchange.com 中提问,因为它是 error.php 和 /htaccess 问题而不是 joomla 问题。
所以解决方案是从 joomla 后端的配置启用 SEO 链接并让它重写链接(来自示例。com/index。php/test --> 示例。com/test)这让它起作用了。
之后我只是在错误页面上将 404 强制为 header 所以它 returns 404 而不是 200.
我在使用自定义 404 页面时遇到问题,
所以我一直在尝试让自定义 404 页面正常工作,但我在使其正常工作时遇到了问题。到处都有描述的所有方法:
1.make自定义404页面, 2.add 它到菜单 3.copy error.php 来自系统并使用 this code. 进行设置。
没有正常工作,它 returns 代码 200 而不是 404 页面(因为它找到了页面)这对 SEO 不利,因为 google 认为任何可能的页面网站很好(代码 200)。
我购买了一个名为 Rapi custom 404 (link) 的插件,但它不起作用。 Rapi 的技术支持为我提供了一个新的自定义 error.php 页面,其中包含:
<?php
defined ('_JEXEC') or die();
$plugin = JPluginHelper::getPlugin('system', 'rapi_custom_404_page');
$params = new JRegistry($plugin->params);
$page_title = $params->get('error_title', "404 - Page Not Found");
$heading_text = $params->get('heading_text', "OOPS! Page Not Found");
$description_text = $params->get('description_text', "The page you are looking for doesn't exist");
$home_button_text = $params->get('home_button_text', "Go Home");
$theme = $params->get('theme', '1');
include "plugins/system/rapi_custom_404_page/themes/theme{$theme}.php";
?>
它仍然不起作用,不是我认为错误来自 .htaccess 页面。我一直在玩弄它,现在我有这个:
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2018 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 'Options +FollowSymLinks' may cause problems with some server configurations.
# It is required for the use of mod_rewrite, but it may have already been set by your
# server administrator in a way that disallows changing it in this .htaccess file.
# If using it causes your site to produce an error, comment it out (add # to the
# beginning of the line), reload your site in your browser and test your sef urls. If
# they work, then it has been set by your server administrator and you do not need to
# set it here.
##
## No directory listings
<IfModule autoindex>
IndexIgnore *
</IfModule>
## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks
Options -Indexes
## Mod_rewrite in use.
RewriteEngine On
ErrorDocument 404 /templates/e4jdrivers/error.php
## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site then comment out the operations listed
# below by adding a # to the beginning of the line.
# This attempts to block the most common type of exploit `attempts` on Joomla!
#
# Block any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block 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 home page
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 the 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} !^/index\.php
# 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.
有没有人可以帮助我修复我的 .htaccess 页面以使其正常工作?非常感谢
//请不要标记重复,我正在研究这 3 天,没有修复它的解决方案并且有效。
//请不要告诉我在 joomla.stackexchange.com 中提问,因为它是 error.php 和 /htaccess 问题而不是 joomla 问题。
所以解决方案是从 joomla 后端的配置启用 SEO 链接并让它重写链接(来自示例。com/index。php/test --> 示例。com/test)这让它起作用了。 之后我只是在错误页面上将 404 强制为 header 所以它 returns 404 而不是 200.