php - 重定向 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 根目录:
例子:
- 如果 404 在子类别 domain.com/helmet/whatever 中,我会尝试发送到 domain.com/helmet(头盔在西班牙语中是 cascos)
一切都很好,但是当我尝试重定向时,当我的数组中没有单词是我主页的 URL 时,我做不到。
解决方案
如果您正在寻找一个具体的 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
问候。
推荐阅读
- ruby-on-rails - Ruby on Rails 正在更改表单中的 id 参数
- javascript - 无法从量角器读取整个本地/会话存储
- java - 更快的杰克逊不可能这么愚蠢(行尾)
- python-3.x - 如何将此命令翻译成 Python 3 语言?
- java - WSDL 创建解析错误
- c++ - 将二维向量传递给函数
- java - JsonMessage 无法解析为类型
- julia - Julia - 错误:LoadError:UndefVarError:绘图未定义
- python - 带有Docker的GCP VM Django项目,无法访问端口
- azure - 如何在 azure API 管理之前使用 Azure 流量管理器