2015-05-04 1 views
1

На моем сайте церкви есть og метатеги для описания и изображений и всего этого джаза. Они все работали нормально. Недавно они попросили меня удалить расширения .php из URL-адреса, поэтому я использовал htaccess для достижения этого. Все переписывание, казалось, прекрасно работало с этим.htaccess rewrite url вызывает ошибку с og metatags

# Turn mod_rewrite on 
RewriteEngine On 

# Make all requests have the www. in them 
RewriteCond %{HTTP_HOST} ^ourchurch\.com 
RewriteRule ^(.*)$ http://www.ourchurch.com/$1 [R=permanent,L] 

## don't touch /my_admin_controls URIs 
RewriteRule ^my_admin_controls/ - [L,NC] 

## don't touch /ourScheduler URIs 
RewriteRule ^ourScheduler/ - [L,NC] 

## hide .php extension 
# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L,NC] 

## To internally redirect /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule^%{REQUEST_FILENAME}.php [L] 

Теперь по каким-либо причинам теги facebook og работают неправильно. Я посмотрел в отладчике, и он сказал, что была ошибка перенаправления.

У кого-нибудь есть идеи, в которых я ошибся?

... редактировать ... образец ог

<head> 
<meta charset="UTF-8"> 
<meta property="og:image" content="http://www.ourchurch.com/images/fblogo.jpg"/> 
<meta property="og:title" content="Fall Retreat"/> 
<meta property="og:url" content="http://www.ourchurch.com/fall_retreat.php"/> 
<meta property="og:site_name" content="Our church .....etc etc"/> 
<meta property="og:description" content="Come for fellowship...etc etc."/> 
<link rel="stylesheet" href="css/main.css" type="text/css" media="screen" /> 
<title>Retreat Registration</title> 
</head> 
+0

вы могли бы дать фрагмент головной части одной из ваших страниц. между тегом «», который содержит метатег. – SaidbakR

ответ

3

Я думаю, что это происходит потому, что вы используете перенаправление в вашем .htaccess, чтобы удалить расширение, то есть R флаг, попробуйте этот код:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Кроме того, из мета-теги кода у вас есть:

<meta property="og:url" content="http://www.ourchurch.com/fall_retreat.php"/> 

, которые должны быть:

<meta property="og:url" content="http://www.ourchurch.com/fall_retreat"/> 

Потому что вы уже сделать редирект, чтобы удалить .php то Facebook страдает от цикла перенаправления и он может не в состоянии достигнуть страницы.

Refrences:

+1

, что имеет смысл. Я попытаюсь просто удалить это из og и посмотреть, нужно ли мне дополнительно редактировать мой htaccess. –

+0

Вы были правы, просто удалив .php в теге og. Спасибо. Просто для получения дополнительной информации, должен ли я начать удаление .php из всех внутренних ссылок, чтобы сократить количество переадресаций из htaccess? или просто оставить теги такими, какие они есть? –

+0

Что вы подразумеваете под внутренними ссылками? Если вы имеете в виду что-то вроде ссылок на страницах вашего сайта, которые ссылаются на другие страницы, лучше также сделать это, помимо изменения рассматриваемого «og url». – SaidbakR