Htaccess重定向以匹配格式在所有URL中添加字符串

时间:2014-01-20 07:44:02

标签: php regex apache .htaccess mod-rewrite

Pl建议

网址不正确

     www.abc.com/index.php?option=com_usedtoy&view=category&limitstart=495
     www.abc.com/index.php?option=com_usedtoy&view=category&limitstart=510
     www.abc.com/index.php?option=com_usedtoy&view=category&limitstart=525

更正网址

     www.abc.com/index.php?option=com_usedtoy&view=category&Itemid=2&limitstart=495
     www.abc.com/index.php?option=com_usedtoy&view=category&Itemid=2&limitstart=510
     www.abc.com/index.php?option=com_usedtoy&view=category&Itemid=2&limitstart=525

如何在所有url中添加Itemid = 2,其中匹配usedtoy的错误url格式 - 缺少Itemid

编辑 使用htaccess代码后

新结果

     www.abc.com/index.php?Itemid=2&option=com_usedtoy&view=category&limitstart=90

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)option=com_usedtoy(&|$) [NC]
RewriteCond %{QUERY_STRING} !(^|&)Itemid=2(&|$) [NC]
RewriteRule ^index\.php$ %{REQUEST_URI}/%{QUERY_STRING} [L,NC]

RewriteRule ^(index\.php)/(option=com_usedtoy&view=category)&((?!Itemid=2&).+)$ /$1?$2&Itemid=2&$3 [L,NC,R=301]