2013-12-20 2 views
1

Я использую multisite с Wordpress как частную сеть, используя для этого плагин Private Only.
Но медиафайлы с моей карты wp-контента не защищены и индексируются Google, хотя я отрицал индексацию.Защита файлов мультимедиа Wordpress multisite

Я ищу фрагмент кода, который перенаправляет людей, которые не вошли в систему при доступе к медиафайлам через Google.

Моя доменная структура выглядит следующим образом:

https://intranet.website.com/subsite1/ 
https://intranet.website.com/subsite2/ 

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

RewriteCond %{HTTP_HOST} ^intranet\.website\.com 
RewriteCond %{SCRIPT_FILENAME} ^([_0-9a-zA-Z-]+/)?files/(.+) 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) - [L] 

Текущий .htaccess:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^intranet\.website\.com$ 
RewriteRule /files/.+?\.(pdf|docx|xls|ppt)$ - [NC,F] 

RewriteEngine On 
RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] 
RewriteRule . index.php [L] 

# directory browsing 
Options All -Indexes 
+0

Обеспечить некоторые образцы UR Ls, вы не хотите индексировать результаты поиска – anubhava

+0

https://intranet.website.com/subsite1/files/2013/10/2013-03-08-Bulletin.pdf – Merl

+0

, но как он отличается от вашего URL-адреса изображения. Я имею в виду, как следует отличать медиа-URL-адрес от URL-адреса изображения? – anubhava

ответ

0

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

RewriteCond %{HTTP_HOST} ^intranet\.website\.com$ 
RewriteRule /files/.+?\.(pdf|docx|xls|ppt)$ - [NC,F] 

Полный .htaccess:

RewriteEngine On 
RewriteBase/

RewriteRule (^|/)files/.+?\.(pdf|docx|xls|ppt)$ - [NC,F] 

RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] 
RewriteRule . index.php [L] 

# directory browsing 
Options All -Indexes 
+0

Это работает, но оно разбивает изображения на моем сайте. Для работы с изображениями я добавил RewriteRule^([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-includes/ms-files.php? File = $ 2 [L], но тогда я больше не перенаправлять ... у вас есть предложения? – Merl

+0

Мое предложенное правило не может влиять на изображения, поскольку у меня есть '\. (Pdf | docx | xls | ppt) $', который не будет соответствовать изображениям. Можете ли вы сказать мне, какой URL-адрес изображения не работает для вас. – anubhava

+0

Я выложу свой полный htaccess для вас ниже в секунду – Merl

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