首页 > 解决方案 > 重定向 PHP 的位置

问题描述

<?php 
$url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$find = array(
    'equipamiento/impermeable-moto', 
    'equipamiento/ropa-termica-moto', 
    'equipamiento/ropa-accesorios',
    'equipamiento/protecciones',
    'equipamiento/electronica-moto',
    'equipamiento/mono-moto',
    'equipamiento/pantalon-moto',
    'equipamiento/botas-moto',
    'equipamiento/chaquetas-moto',
    'equipamiento/cascos-moto',
    'equipamiento/equipaje',
    'equipamiento/guantes-moto',
    'equipamiento',
    'recambios/accesorios',
    'recambios/lubricantes',
    'recambios/sistema-frenado-moto',
    'recambios/suspension',
    'recambios/baterias-moto',
    'recambios/baterias-moto',
    'recambios'
);
foreach ($find as $v) {
    if (stripos($url, $v) !== false) {
        Header( 'HTTPS/1.1 301 Moved Permanently');
        Header( 'Location: https://example.com/'.$v.'.html');
        exit;
        break;
    }
}
?>

我正在尝试使用这样的 foreach 将 404 重定向到 /subcategory 根目录:

例子:

一切都很好,但是当我尝试重定向时,当我的数组中没有单词是我主页的 URL 时,我做不到。

标签: phpmagento

解决方案


如果您正在寻找一个具体的 URL 来重定向,您可以直接在后端执行此操作。是推荐的方式:

Magento 1 https://docs.magento.com/m1/ee/user_guide/search_seo/seo-url-redirect-create.html

Magento 2 https://docs.magento.com/m2/ce/user_guide/marketing/url-rewrite.html

另一方面,如果您希望按照您对子类别的要求应用一些逻辑,也许您可​​以开发一个模块。

这个模块可能有下一个逻辑:

If $URL == 404 then $priorURL = $URL - $URL_lastSlash if $priorURL is category then redirect

问候。


推荐阅读