如何将.htacces& Itemid = x重定向到& Itemid = Y.

时间:2012-09-07 22:27:09

标签: .htaccess mod-rewrite joomla joomla2.5 http-status-code-301

您好我有这个问题

我无法重定向此 ?的index.php选项= com_adsmanager&安培;图=列表&安培; CATID = 8&安培; ITEMID = 435 对此 ?的index.php选项= com_adsmanager&安培;图=列表&安培; CATID = 8&安培; ITEMID = 565

catid = 8是我需要重定向所有catid =值

的变量

我只需要chanche& Itemid = 435 to& Itemid = 565

我有这段代码

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

我不知道出了什么问题 我需要所有的网址& Itemid = 435转到同一个东西& Itemid = 565

1 个答案:

答案 0 :(得分:0)

替代

在Joomla的PHP Codeindex.php顶部添加configuration.php以下!

检查数字catid& Itemid请求&如果Itemid=435它会将网址重定向到catid&新Itemid。您可以根据需要随意修改代码!

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-1重定向到URI-2

  1. 的index.php选项= com_adsmanager&安培;图=列表&安培; CATID = 8&安培; ITEMID = <强> 435

  2. 的index.php选项= com_adsmanager&安培;图=列表&安培; CATID = 8&安培; ITEMID = <强> 565

  3. 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文件中同时使用这两个代码。