بهینه سازی آدرس های جوملا (SEF) برای موتورهای جستجو در IIS
محتویات
مقدمه
اگر شما جزو آن دسته از کاربرانی هستید که جوملا را در IIS نصب کردهاید و تصمیم دارید تنظیمات SEO را فعال کنید و در این راه دچار مشکل میشوید. خواندن این مقاله را به شما توصیه میکنیم. درواقع در این مقاله نحوه فعال سازی تنظیمات SEO در مدیریت جوملا و انجام اعمالی که پیش نیاز این فعال سازی است را مورد بررسی قرار خواهیم داد.
در IIS7 به طور پیش فرض میتوانیم از آدرسهای (URLهای) یونیک استفاده کنیم و به طور پیش فرض ماژول URL Rewrite در دسترس میباشد. ماژول مذکور قواعد سایت را در یک فایل به نام web.config نگهداری میکند. فایل web.config با فرمت xml نوشته شده است به طوریکه قواعد فایل htaccess. میتوانند به فرمت xml فایل web.config تبدیل شوند.
اما در IIS6 باید یک افزونه سه لایه به نام Helicon مورد استفاده قرار گیرد که این افزونه دایرکتوری پشتیبانی از قواعد htaccess. را فراهم میکند.
IIS7
اگر شما یک سرور در حال اجرای IIS7 دارید و PHP را بر روی آن اجرا کردهاید میتوانید از url rewritingهای داخلیای که توسط یک فایل web.config مورد استفاده قرار میگیرد استفاده بهینهای داشته باشید. همانند لیستی که در قسمت پایین نمایش داده شده است.
شما میتوانید یک فایل برای خودتان بسازید به این منظور میتوانید از مدیریت GUI استفاده کنید. میتوانید قواعد htaccess. را با استفاده از GUI/Wizard ایمپورت کنید. البته این قابلیت بستگی به وجود IIS URL Rewrite module خواهد داشت.
این ماژول از قسمت محصولات رایگان مایکروسافت قابل دانلود است.
GUI
اگر ماژول IIS URL Rewrite نصب شده باشد قسمت مدیریت وب سایت شما یک ابزار برای URL Rewrite وجود خواهد داشت که در قسمت مدیریت IIS بخشی که ماژولهای قابل پیکره بندی IIS قابل رویت است.
جهت فعال کردن تنظیمات موتور جستجو در جوملا بعد از فعال کردن SEF و Apache mod_rewrite باید دستورات زیر را در IIS URL Rewrite کپی کنید.
Pattern field: ^([^/]+)/?$ Ignore case ON Action type: Rewrite Rewrite URL: index.php/
Web.config
این کد که در ذیل ارائه شده در جوملا 1.5 با IIS7 در ویندوز سرور 2008 امتحان شده و هیچ مشکل خاصی بوجود نیامده است.
برای کسب اطلاعات بیشتر جهت تبدیل htaccess. به web.config مقاله http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig را مطالعه کنید.
<source lang="xml" >
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer> <rewrite> <rules> <clear /> <rule name="Common Exploit Blocking" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAny"> <add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" /> <add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" /> <add input="{QUERY_STRING}" pattern="(\<|%3C).*script.*(\>|%3E)" /> <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" /> <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" /> </conditions> <action type="Redirect" url="index.php" appendQueryString="false" redirectType="SeeOther" /> </rule> <rule name="Joomla Search Rule" stopProcessing="true"> <match url="(.*)" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{URL}" pattern="^/search.php" ignoreCase="true" /> </conditions> <action type="Rewrite" url="/index.php?option=com_content&view=article&id=4" /> </rule> <rule name="Joomla Main Rewrite Rule" stopProcessing="true"> <match url="(.*)" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{URL}" pattern="(/[^.]*|\.(php|html?|feed|pdf|raw))$" /> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php/" /> </rule> </rules> </rewrite> <caching> <profiles> <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" /> </profiles> </caching> </system.webServer>
</configuration> </source>
IIS6
در IIS6 باید از یک افزونه جهت بهینه سازی موتورهای جستجو فعال و مورد استفاده قرار گیرد. Helicon یکی از راههایی است که اعمال تغییرات به قواعد htaccess. به صورت مستقیم فراهم میکند. آموزشهایی در این زمینه برای جوملا 1.5 و 1.0 وجود دارد.
جوملا 1.5 و نسخههای جدیدتر
اگر شما جوملا را در وب سرور Microsoft IIS اجرا کردهاید جهت بهره بردن از امکان Search Engine Friendly URLs در Microsoft IIS6 باید چند مرحله را انجام دهید. در واقع دستورالعملهایی که در ادامه آنها را بررسی میکنیم در کارایی SEF URLs جوملا 1.5ای که در IIS اجرا شده است نتیجه بخش خواهد بود. تنها نکته قابل توجه این است که شما باید به سروری دسترسی داشته باشید که ISAPI filter در آن نصب شده باشد و در ضمن آن سرور باید dedicate باشد.
از آن جهت به سرور اختصاصی اشاره شده که ISAPI معمولا در سرورهای مشترک به صورت پیش فرض نصب نیست بنابراین اگر شما از یک share server استفاده میکنید باید وب Host خودتان را متقاعد کنید که ISAPI را برای شما نصب کند تا بتوانید ادامه مقاله را دنبال کنید.
- نصبISAPI filter برروی سروری که mod_rewrite آن فعال باشد.البته برای انجام هم از نرم افزارهای رایگان و هم از نرم افزارهای تجاری میتوان استفاده کرد. نکته مهمی که باید مورد توجه قرار گیرد آنست که mod_rewrite فعال باشد. به عنوان مثال ISAPI_Rewrite 3 تجاری است البته نسخه رایگان آن هم وجود دارد. در نسخههای رایگان یکسری امکانات محدود شده به این صورت که فقط اجازه پیکره بندی یک سایت از تمام سایتهایی که بر روی سرور وجود دارد را میدهد. بنابراین باید برای استفاده کلیه امکانات و پیکره بندی تمام سایتها باید با پرداخت هزینه نسخه تجاری را تهیه کنید.
- یک فایل در root سایت جوملایی تان ایجاد کنید و نام آنرا htaccess. بگذارید و سپس کدهای زیر را در آن قرار دهید.
RewriteEngine On
RewriteCond %{REQUEST_URI} (/[^.]*|\.(html?|php))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php
- فایل index.php اصلی واقع در root جوملا را باز کنید و کدهای زیر را پس از تگ
<source lang="php" >
<?php
</source>
قرار دهید.
<source lang="php" >
if (isset($_SERVER['HTTP_X_REWRITE_URL']))
{
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
} </source>
- فایل configuration.php واقع در root جوملا باز کنید و متغیر
<source lang="php" >
$live_site
</source>
آنرا به صورت زیر مقدار دهی کنید.
<source lang="php" >
var $live_site = 'http://www.example.com/site1';
</source>
- از مدیریت جوملا قسمت تنظیمات کلی باید تنظیمات مربوط به SEF فعال کنید یا یک افزونه SEF نصب کنید و آنرا فعال کنید.
بعد از انجام مراحل فوق میتوانید از قابلیتهای SEF سایت جوملایی تان در IIS استفاده کنید.
جمع آوری شده توسط :شهاب مطاع پور
استفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.
|