追加查询字符串与htaccess的所有URL(Append query string to all

2019-09-28 02:00发布

出于测试目的,我想追加一个查询字符串(假设测试=真)以任何网址从我的网站请求。

例如,我想改变

  • example.com
  • example.com/product
  • example.com/search?q=string

  • example.com? 测试=真
  • example.com/product? 测试=真
  • example.com/search?q=string& 测试= TRUE

我尝试这样做:

RewriteRule ^/?(.*) http://example.com/$1?testing=true [L,R,NE]

但它打破了现场。 不是专家。

有任何想法吗?

编辑:

我要补充,我使用CodeIgniter(PHP)和我目前的.htaccess的工作是这样的:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond $1 !^(index\.php|public|images|robots\.txt|css)
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Answer 1:

你可以使用这个新的规则:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{QUERY_STRING} !(^|&)testing=true(&|$) [NC]
    RewriteRule ^ %{REQUEST_URI}?testing=true [L,QSA,R]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|public|images|robots\.txt|css)
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>


文章来源: Append query string to all URLs with .htaccess