2014-12-04 2 views
1

Для целей тестирования я хотел бы добавить строку запроса (скажем, testing = true) к любому URL-адресу, запрашиваемому с моего сайта.Добавить строку запроса ко всем URL-адресам с .htaccess

E.g. Я хочу изменить

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

в

  • example.com? testing = true
  • example.com/product? тестирование = истина
  • example.com/search?q=string & тестирование = True

Я попытался это:

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

но ломает сайт. Не эксперт.

Любые идеи?

EDIT:

Я должен добавить, что я работаю с 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> 

ответ

4

Вы можете использовать это новое правило:

<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> 
+0

К сожалению, он ничего не делает. Загрузка страниц с обычными URL-адресами, строка запроса не добавляется. – lesssugar

+0

попробуйте обновленный код с флагом 'R'. – anubhava

+1

Работает как шарм! – lesssugar

Смежные вопросы