Что-то намудрил с .htaccess (частично не работает)

Brutality
На сайте с 06.01.2011
Offline
153
965

Привет.

Нагоношил я .htaccess для WordPress из разных источников по кусочкам, кое-что сам добавил от себя, в итоге редиректы работают, а вот защита от хотлинков нет.

Помогите выяснить в чем проблема.

И еще не уверен на счет кода для защиты от спама...


# BEGIN WordPress

Options -Indexes

<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

<Files ~ "\.(js|css)$">
order allow,deny
allow from all
</Files>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://domain.com [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://domain.com [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*domain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.domain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domain.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://domain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://domain.com$ [NC]
RewriteCond %{HTTP_REFERER} !google. [NC]
RewriteCond %{HTTP_REFERER} !yandex. [NC]
RewriteCond %{HTTP_REFERER} !msn. [NC]
RewriteCond %{HTTP_REFERER} !live. [NC]
RewriteCond %{HTTP_REFERER} !yahoo. [NC]
RewriteCond %{HTTP_REFERER} !gravatar. [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/forbidden.jpg [NC,F,L]
</IfModule>

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

# END WordPress

Заранее спасибо :)

* Вероятно, лучший хостинг: выбор Pikabu, AdmitAd, Maxim, ЯП и др. Дата-центры в Европе и США (http://clc.to/fx). Цены от 1 евро * ПРОМОКОДЫ, скидки на хостинг и серверы: FastVPS, Inferno, Fornex, Fozzy (http://clc.to/pc)
IL
На сайте с 20.04.2007
Offline
435
#1
Brutality:
в итоге редиректы работают, а вот защита от хотлинков нет.

Может nginx перехватывает? Что выдаст URL {domain.com}/blablabla.jpg ?

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Brutality
На сайте с 06.01.2011
Offline
153
#2
ivan-lev:
Может nginx перехватывает?

А как понять, если перехватывает?

ivan-lev:
Что выдаст URL {domain.com}/blablabla.jpg ?

Это просто картинка-заглушка с именем домена.

IL
На сайте с 20.04.2007
Offline
435
#3
Brutality:
А как понять, если перехватывает?

Открыть несуществующий адрес {domain.com}/blablabla.jpg

вместо {domain.com} свой домен подставить, остальное - не трогать.

Brutality:
Это просто картинка-заглушка с именем домена.

прям blablabla??? o_O

Brutality
На сайте с 06.01.2011
Offline
153
#4
ivan-lev:
прям blablabla??? o_O

Я не сразу понял, что Вы имели ввиду)

При открытии - error 404

IL
На сайте с 20.04.2007
Offline
435
#5
Brutality:
При открытии - error 404

WP-шный, с оформлением? Или чёрным-по-белому с припиской Nginx?

Brutality
На сайте с 06.01.2011
Offline
153
#6

WP-шный с оформлением

Brutality
На сайте с 06.01.2011
Offline
153
#7

Несколько раз менял код, структуру файла, но ничего не работает все равно...

Сейчас файл выглядит так:

# BEGIN WordPress

<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

<Files ~ "\.(js|css)$">
order allow,deny
deny from all
</Files>

<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
</IfModule>

<IfModule mod_rewrite.c>
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://xxxxx.com [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://xxxxx.com [R=301,L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^www.xxxxx\.com$ [NC]
RewriteRule ^(.*)$ http://xxxxx.com/$1 [R=301,L]
</IfModule>

<IfModule mod_rewrite.c>
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feeds.feedburner.com/xxxxx
RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feeds.feedburner.com/xxxxx
</IfModule>

<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*xxxxx.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?(xxxxx\.com|google(.*)|bing(.*)|msn(.*)|live(.*)|yahoo(.*)|gravatar(.*)|yandex(.*))/.*$ [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteRule \.(jpg|jpeg|png|bmp|gif|swf|flv|wav|mp3)$ /images/blah.jpg [NC,R,L]
</IfModule>

<IfModule php5_module>
php_value session.cookie_httponly true
</IfModule>

# END WordPress

Теперь еще перестало перенаправление с www на без www работать Оо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий