فکر کنم بهتر بود این مسئله رو تو تاپیک آپاچی باز میکردم، اگه مدیر صلاح دونستن منتقلش کنن.
خوب بنده یک تم برای وردپرس بوسیله angularjs ساختم و میخوام در اون امکان اشتراک مطالب بلاگ رو اضافه کنم. مشکل اینجاس که چون صفحات توسط جاوااسکریپت ساخته و مدیریت میشن، خزنده های شبکه های اجتماعی مثل فیسبوک، تویتر، گوگل، لینکداین و ... نمیتونن این نوع صفحات رو بخزند و محتوای مورد نظرشون رو بیرون بکشن(البته تا جایی که اطلاع دارم اینطوریه).
واسه همین بنده طبق این مقاله یک صفحه static-page.php ساختم و تو اون بر اساس آیدی مطلبی که بهش داده میشه میره و از وردپرس محتوای مورد نظر رو بیرون میکشه و social meta tag ها رو با اونا پر میکنه. تا اینجا مشکلی نیست. وقتی میخوام مطلبی رو با آدرسی مثل این:
همونطور که میبینید سعی کردم روبات فیسبوک رو همراه با آیدی مطلب مورد نظر به صفحه static-page.php منتقل کنم، اما وقتی تست میکنم باز هم نمیتونه چیزی رو بخونه. انگار که اصلاً به اون صفحه ای که مد نظرم بوده منتقل نمیشه. به نظرتون مشکل از چیه؟ regexp ها رو اشتباه نوشتم یا واسه اینکار به ماژولی غیر از rewrite_module نیاز هست؟ یا اصلا مشکل جای دیگه هست؟
خودم که دیگه مغزم نمیکشه
خوب بنده یک تم برای وردپرس بوسیله 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} facebookexternalhit/[0-9] RewriteRule ^/?blog/(d*)/.*$ . /wordpress1/wp-content/themes/test/static-page.php?id=$1 [L] # END Test-Themes Content # END WordPress
همونطور که میبینید سعی کردم روبات فیسبوک رو همراه با آیدی مطلب مورد نظر به صفحه static-page.php منتقل کنم، اما وقتی تست میکنم باز هم نمیتونه چیزی رو بخونه. انگار که اصلاً به اون صفحه ای که مد نظرم بوده منتقل نمیشه. به نظرتون مشکل از چیه؟ regexp ها رو اشتباه نوشتم یا واسه اینکار به ماژولی غیر از rewrite_module نیاز هست؟ یا اصلا مشکل جای دیگه هست؟
خودم که دیگه مغزم نمیکشه