2014-02-06 5 views
0

Вот мой HtaccessГде htaccess вырезает строку запроса?

php_flag session.use_trans_sid off 
php_flag session.use_only_cookies on 
Options +FollowSymLinks 

      RewriteEngine On 


      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
      RewriteRule ^(.*)$ http://automaticheskie-vorota.ru/? [R=301,L] 


      RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 

      RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] 

      RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] 
      RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
      RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
      RewriteRule .* index.php [F] 



      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
      RewriteCond %{REQUEST_URI} !^/index\.php 
      RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC] 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule .* index.php [L] 

Если я иду на http://site.ru/?utm_source=123 сайт делает 301 перенаправления http://site.ru Я не хочу, чтобы это сделать. Не могу понять, где он вырезает строки запроса в htaccess.

ответ

0

Удалить ? из первого правила:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^(.*)$ http://automaticheskie-vorota.ru/ [R=301,L] 
+0

И не забудьте проверить в новом браузере – anubhava

+0

Да, это было первое, что я пробовал, и по какой-то причине это не работало. –

0

Я полагаю, что вы подтвердили, что ваш измененный файл .htaccess был успешно загружен или переписать в нужном месте, и вы не ставили новую копию в неправильном месте, а старая копия не была доступна только для чтения (файлы редактируются или загружаются игнорируются).

Вы можете начать отладку, закомментировав (#) один из трех «блоков» RewriteCond/Rules и видя, какой блок вызывает нежелательное поведение, которое вы описываете. Затем вы можете сузить его до определенного RewriteCond или RewriteRule в этом блоке. Вы также должны добавить несколько комментариев о том, что должен делать каждый из трех блоков, чтобы помочь в будущем обслуживании.

Кстати, вы должны переместить команды php_flag (а также php_value) в файл php.ini (или аналогичный), если это вообще возможно. В конце концов ваш сервер будет обновлен, и вы получите ошибки внутреннего сервера с этими командами, все еще находящимися в .htaccess.

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