这是我的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 :(得分:0)
从第一条规则中移除?
:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^(.*)$ http://automaticheskie-vorota.ru/ [R=301,L]
答案 1 :(得分:0)
我认为您已经确认已修改的.htaccess文件已成功上传或重写到正确的位置,并且您没有将新副本放在错误的位置,并且旧副本不是&# 39; t只读(忽略文件编辑或上传)。
您可以通过注释掉(#)三个&#34;块之一&#34;来开始调试它。 RewriteCond / Rules,并查看哪个块导致您描述的不需要的行为。然后,您可以将其缩小到该块内的特定RewriteCond或RewriteRule。您还应该添加一些关于三个块应该做什么的评论,以帮助将来进行维护。
顺便说一句,你应该把php_flag(以及php_value)命令移动到php.ini(或类似的)文件,如果可能的话。最终,您的服务器将升级,并且您将在.htaccess中使用那些命令获得内部服务器错误。