خوب بنده یک تم برای وردپرس بوسیله angularjs ساختم و میخوام در اون امکان اشتراک مطالب بلاگ رو اضافه کنم. مشکل اینجاس که چون صفحات توسط جاوااسکریپت ساخته و مدیریت میشن، خزنده های شبکه های اجتماعی مثل فیسبوک، تویتر، گوگل، لینکداین و ... نمیتونن این نوع صفحات رو بخزند و محتوای مورد نظرشون رو بیرون بکشن(البته تا جایی که اطلاع دارم اینطوریه).
واسه همین بنده طبق این مقاله یک صفحه static-page.php ساختم و تو اون بر اساس آیدی مطلبی که بهش داده میشه میره و از وردپرس محتوای مورد نظر رو بیرون میکشه و social meta tag ها رو با اونا پر میکنه. تا اینجا مشکلی نیست. وقتی میخوام مطلبی رو با آدرسی مثل این:
https://www.facebook.com/sharer.php?u=http://myhost.com/wordpress1/blog/70/how-to-recognize/تو فیسبوک به اشتراک بزارم، طبق توضیحی که دادم بصورت پیشفرض ربات فیسبوک نمیتونه اون صفحه رو بخونه و باید به صفحه static-page.php منتقل بشه. واسه اینکار هم، فایل .htaccess روت وردپرس رو به این شکل تغییر دادم:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress1/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress1/index.php [L]
</IfModule>
# BEGIN Test-Themes Content
# allow social media crawlers to work by redirecting them to a server-rendered static version on the page
RewriteCond %{HTTP_USER_AGENT} facebookextealhit/[0-9]
RewriteRule ^/?blog/(d*)/.*$ . /wordpress1/wp-content/themes/test/static-page.php?id=$1 [L]
# END Test-Themes Content
# END WordPress
خودم که دیگه مغزم نمیکشه 
برچسب:
نویسنده: خنجی