0

你好我有这个问题

我无法将此 index.php?option=com_adsmanager&view=list&catid=8&Itemid=435 重定向到此 index.php?option=com_adsmanager&view=list&catid=8&Itemid=565

catid=8 是一个变量,我需要重定向所有 catid= 值

我只需要将 &Itemid=435 更改为 &Itemid=565

我有这个代码

   RewriteEngine on
    RedirectMatch 301 ^(.+)\&Itemid=435$ $1&Itemid=565

我不知道出了什么问题我需要所有的网址 any&Itemid=435 去sameanything&Itemid=565

4

1 回答 1

0

选择

在 Joomla或JoomlaPHP Code的顶部添加下方!index.phpconfiguration.php

它检查数字catid&Itemid请求 & 如果它会用& newItemid=435重定向 URL 。随意根据您的需要修改代码!catidItemid

if(isset($_GET['catid']) && is_numeric($_GET['catid']) && isset($_GET['Itemid']) && is_numeric($_GET['Itemid']))        
if($_GET['Itemid'] == 435)
{
    $catid    = $_GET['catid'];
    $location = "/index.php?option=com_adsmanager&view=list&catid=$catid&Itemid=565";
    header ('HTTP/1.1 301 Moved Permanently');
    header ('Location: '. $location);
}

答案 - 2

我假设您想要重定向URI-1URI-2.

  1. index.php?option=com_adsmanager&view=list&catid=8&Itemid= 435

  2. index.php?option=com_adsmanager&view=list&catid=8&Itemid= 565

下面mod_rewrite将让您重定向specific URI到其他specific URI. 只需在.htaccess文件中添加以下规则。

<IfModule mod_rewrite.c>
 Options +FollowSymlinks
 RewriteEngine on
 RewriteCond %{QUERY_STRING} ^option=com_adsmanager&view=list&catid=8&Itemid=435$
 RewriteRule ^/?index\.php$ /index.php?option=com_adsmanager&view=list&catid=8&Itemid=565 [R=301,L]
</IfModule>

答案 - 3

.htaccess如果您想使用'/index.php'和处理请求,请在您的'/'.

<IfModule mod_rewrite.c>
 Options +FollowSymlinks
 RewriteEngine on
 RewriteCond %{QUERY_STRING} ^option=com_adsmanager&view=list&catid=8&Itemid=435$
 RewriteRule ^(.*)$ /index.php?option=com_adsmanager&view=list&catid=8&Itemid=565 [R=301,L]
</IfModule>

注意:不要在单个.htaccess文件中使用这两个代码。

于 2012-09-07T23:22:58.783 回答