代码之家  ›  专栏  ›  技术社区  ›  M. B.

htaccess删除索引。php?来自url

  •  0
  • M. B.  · 技术社区  · 6 年前

    我需要删除索引。php?来自URL。

    发件人: https://example.com/index.php?/discover/

    收件人: https://forum.fibaro.com/discover/

    我什么都试过了,但都没用:/

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mohammed Elhag    6 年前

    我想你是想攻击URI,所以,让我在这里解释一下:

    https://example.com/index.php?/discover/
    

    本部分 index.php 是URI,然后是 ? 之后就是 /discover/ ,最后一部分是查询字符串,因此可以使用 QUERY_STRING or THE_REQUEST 服务器变量取决于您需要什么,但使用时 REQUEST_URI 您只匹配URI部分。

    请尝试以下操作:

    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s/index\.php\?\/(.*)\sHTTP.*$
    RewriteRule ^index\.php$  /%1? [L,R=301]
    RewriteRule !^index\.php$  /index.php?%{REQUEST_URI} [L]
    

    上述代码将重定向 https://example.com/index.php?/discover/ https://example.com/discover/ 然后再次将其重定向到同一路径。

    注: 清除浏览器缓存,然后对其进行测试。