در مباحث قبلی سئو و کانفیگ وب سرور ، آموزش نحوه اجبار یک سایت به باز شدن با www یا بدون www را برای وب سرور آپاچی توضیح دادیم . با توجه به آمار رو به افزایش استفاده از Nginx به عنوان وب سرور اصلی و عدم پشتیبانی Nginx از .htaccess تصمیم به آموزش نحوه کنترل یک سایت برای باز شدن سایت فقط با www یا بدون www در nginx گرفتیم . عده از از سئو کار ها بر این باورند که مثلا باز شدن سایت با www یا بدون آن روی سئو تاثیر مستقیم دارد و یکی بهتر از دیگری است . چنین چیزی حقیقت نداشته و یک تصور غلط است . ولی آنچ که مسلم است این است که سایت شما باید فقط به یکی از این ۲ حالت باز شده و در گوگل و موتور های جستجو ایندکس شود . انتخاب آن نیز به سلیقه شخصی مدیر سایت مربوط است . ایندکس شدن یک پیج با www و بدون www به صورت همزمان باعث ایجاد ۲ لینک با محتوای یکسان و تکراری در گوگل میشود که در سئو یک امتیاز منفی محسوب میگردد .
انجام این کار در وب سرور انجین اکس بسیار ساده تر از وب سرور آپاچی است . ابتدا توضیح مختصری در مورد بلاک های وب سرر Nginx میدهیم و سپس به صورت عملی محتوای مورد نیاز فایل کانفیگ را برای شما منتشر میکنیم . هر سرور بلاک یا vhost در وب سرور Nginx چیزی شبیه به تمپلیت زیر است :
همانطور که مشاهده میکنید در خط دوم مربوط به بلاک دامنه مورد نظر که در اینجا با mysite.com مشخص شده است هر دو حالت با www و بدون www در قسمت server_name مشاهده میشود . ساده ترین روش ممکن برای ریدایرکت کردن سایت به حالت بدون www یا با www جدا کردن این ۲ بلاک از یک دیگر است . بنا بر این به سادگی میتوانیم برای هر حالت رول مورد نظر را بنویسیم . مثال فوق سبب میشود وب سایت mysite.com هم با www هم بدون www بدون مشکل باز شود . حالا میخواهیم کاری کنیم که دامنه mysite.com تحت هر شرایطی با www باز شود :
در مثال فوق اگر کسی دامنه مورد نظر را بدون www فراخوانی کنید ، درخواست او به بلاک mysite.com ارسال میگردد . در این بلاک به وب سرور دستور ریدارکت به بلاک www.mysite.com وجود دارد . بنا بر این سایت خود به خود به حالت با www ریدایرکت میشود . در مثال زیر نیز دامنه فقط بدون www باز میشود :
همانطور که ملاحظه میکنید وب سرور Nginx ابزار ساده تری برای کنترل چنین مواردی در اختیار مدیر سرور قرار داده است . درک معنی رول های .htaccess همیشه کار سختی بوده است و از این لحاظ وب سرور Nginx معمولا نسب به آپاچی جلو تر است .
نویسنده Babak Ajideh
انجام این کار در وب سرور انجین اکس بسیار ساده تر از وب سرور آپاچی است . ابتدا توضیح مختصری در مورد بلاک های وب سرر Nginx میدهیم و سپس به صورت عملی محتوای مورد نیاز فایل کانفیگ را برای شما منتشر میکنیم . هر سرور بلاک یا vhost در وب سرور Nginx چیزی شبیه به تمپلیت زیر است :
کد PHP:
server {
server_name mysite.com www.mysite.com;
listen 217.23.6.90;
root /home/mysite/public_html;
index index.html index.htm index.php;
کد PHP:
server {
server_name mysite.com;
listen 217.23.6.90;
return 301 $scheme://www.mysite.com$request_uri;
}
server {
server_name www.mysite.com;
listen 217.23.6.90;root /home/mysite/public_html;
index index.html index.htm index.php;
کد PHP:
server {
server_name www.mysite.com;
listen 217.23.6.90;
return 301 $scheme://mysite.com$request_uri;
}
server {
server_name mysite.com;
listen 217.23.6.90;root /home/mysite/public_html;
index index.html index.htm index.php;
نویسنده Babak Ajideh