【问题标题】:Htaccess redirection to add string in all url with matching formatHtaccess重定向以在所有具有匹配格式的url中添加字符串
【发布时间】:2026-02-14 09:40:02
【问题描述】:

请指教

网址不正确

     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

如何在所有匹配 usedtoy 的不正确 url 格式的 url 中添加 Itemid=2 - 缺少 Itemid

编辑 使用 htaccess 代码后

新结果是

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

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案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]
    

    【讨论】:

    • 感谢 Anubhava - 但没有任何变化。它不会添加 Itemid=2 - 在 htaccess 中进行更改之后!另外 - 它是一个 301 重定向。请指导。谢谢
    • 感谢 Anubhava,但它给出了错误的结果。在编辑中突出显示
    • 原因 - 搜索引擎会将其视为重复页面。因此 - 它需要按顺序出现。谢谢
    • 工作完美。再次感谢您在该主题上的时间、专业知识和知识分享
    • 嗨 Anubhava - 在 htaccess 中的这个查询需要你的帮助 - 你能告诉我谢谢*.com/questions/50766391/…
    最近更新 更多