私は次の.htaccessルールを持っています。そして、このブロックにいくつかのルールを追加する必要があります。古いものをなくしたくない。
<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order allow,Deny
Deny from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
私のルールは次のようなものです。
- if HTTP_USER_AGENT includes BotOne
- or HTTP_USER_AGENT includes OtherBot
- or HTTP_COOKIE user_id != 1
- if REQUEST_URI is "/" main directory
- or REQUEST_FILENAME includes "utm_source"
- or REQUEST_FILENAME includes "utm_medium"
- or REQUEST_FILENAME includes "utm_campaign" and "utm_content"
- if REQUEST_FILENAME doesn't include "/blog/"
- or REQUEST_FILENAME doesn't include "gif"
- or REQUEST_FILENAME doesn't include "jpg"
- then RewriteRule all files to index.html
これを試してみました。しかし、助けにはならなかった。これらのルールをどのように書くことができますか?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
RewriteCond %{HTTP_USER_AGENT} "BotOne|OtherBot" [NC,OR]
RewriteCond %{HTTP_COOKIE} !^.*user_id=1 [NC]
#
RewriteCond %{REQUEST_URI} \/ [NC,OR]
RewriteCond %{REQUEST_FILENAME} ^utm_source.* [NC,OR]
RewriteCond %{REQUEST_FILENAME} ^utm_medium.* [NC,OR]
RewriteCond %{REQUEST_FILENAME} ^utm_campaign.* [NC,OR]
RewriteCond %{REQUEST_FILENAME} ^utm_content.* [NC]
#
RewriteCond %{REQUEST_FILENAME} !\/blog\/.* [NC,OR]
RewriteCond %{REQUEST_FILENAME} !gif.* [NC,OR]
RewriteCond %{REQUEST_FILENAME} !jpg.* [NC]
RewriteRule ^.*? index.html [R=301,L]
</IfModule>
リダイレクトしたいプライマリURLは次のとおりです。
*http://example.com=> http://example.com/index.html * http://example.com/ = >
http : // example。 com / index.html
* http://example.com/?utm_source=michael => http://example.com/index.html
* http://example.com/?utm_medium=twitter => http:// example.com/index.html
* http://example.com/?utm_campaign=camp2&utm_content=somewhere => http://example.com/index.html
* http://example.com/blog/*= >いいえリダイレクション
* http://example.com/myfile.jpg
=>リダイレクトなし
* http://example.com/myfile.gif= >リダイレクトなし
このリダイレクトは、(ユーザーエージェントが「BotOne」)または(ユーザーエージェントが「OtherBot」)または(彼/彼女のCookie user_idが1でない場合)に発生します。
クエリパラメータはすべて削除されます。