چگونه می توان تنظیمات url rewrite و استفاده از کاراکتر فارسی برای Prestashop را اعمال نمود؟

تنظیمات url rewrite و استفاده از کاراکتر فارسی برای prestashop

پرستاشاپ همانند اکثریت cms ها به صورت پیش فرض از از پارامترهای مخصوصی برای لینکهای وبسایت استفاده می نماید ، که طولانی بوده و به خاطر سپردن این لینکها برای کاربر دشوار می باشد. شما می توانید با فعال کردن قابلیت Friendly URL این لینکها را بازنویسی نموده و بهینه نمایید.
 
جهت فعالسازی این قابلیت مراحل زیر را دنبال نمایید :
 
وارد File manager شوید . فایل به نام web.config که یک فایل ضروری جهت لود وبسایت بوده را مشاهده می کنید. کدهای مربوطه جهت فعال سازی قابلیت URL Rewrite بایستی در این فایل قرار گیرد. با انتخاب گزینه ی  در کنار فایل web.config محتویات این فایل به نمایش در خواهند آمد.
کد کامل مربوط به قابلیت URL Rewriteبه شرح زیر می باشد.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^api/?(.*)$" ignoreCase="false" />
                    <action type="Rewrite" url="webservice/dispatcher.php?url={R:1}" appendQueryString="true" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}-{R:2}{R:3}{R:4}.jpg" />
                </rule>
                <rule name="Imported Rule 3" stopProcessing="true">
                    <match url="^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}-{R:2}{R:3}.jpg" />
                </rule>
                <rule name="Imported Rule 4" stopProcessing="true">
                    <match url="^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:1}{R:2}{R:3}.jpg" />
                </rule>
                <rule name="Imported Rule 5" stopProcessing="true">
                    <match url="^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:1}{R:2}{R:3}{R:4}.jpg" />
                </rule>
                <rule name="Imported Rule 6" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:1}{R:2}{R:3}{R:4}{R:5}.jpg" />
                </rule>
                <rule name="Imported Rule 7" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}.jpg" />
                </rule>
                <rule name="Imported Rule 8" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}.jpg" />
                </rule>
                <rule name="Imported Rule 9" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}.jpg" />
                </rule>
                <rule name="Imported Rule 10" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:7}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}{R:9}.jpg" />
                </rule>
                <rule name="Imported Rule 11" stopProcessing="true">
                    <match url="^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:7}/{R:8}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}{R:9}{R:1}0.jpg" />
                </rule>
                <rule name="Imported Rule 12" stopProcessing="true">
                    <match url="^c/([0-9]+)(\-[_a-zA-Z0-9-\.*]*)(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/c/{R:1}{R:2}{R:3}.jpg" />
                </rule>
                <rule name="Imported Rule 13" stopProcessing="true">
                    <match url="^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$" ignoreCase="false" />
                    <action type="Rewrite" url="img/c/{R:1}{R:2}.jpg" />
                </rule>
<rule name="Imported Rule 14" stopProcessing="true">
                     <match url="^.*$" />
                     <conditions logicalGrouping="MatchAny">
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" ignoreCase="false" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" ignoreCase="false" />
                     </conditions>
                     <action type="None" />
                 </rule>
                 <rule name="Imported Rule 15" stopProcessing="true">
                    <match url="^.*$" />
                     <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
 
در صورتی که فایل web.config درون file manager موجود باشد، بایستی کد های بین دو تگ"<system.webServer >" و "</system.webServer >" را بعد از خط </defaultdocument> قرار دهید.
 
در مرحله ی بعد بایستی وارد پنل مدیریت پرستا شاپ شوید .در صورتی که بخش مدیریت پرستاشاپ فارسی می باشد ، از منوی تنظیمات ، گزینه SEO و URL ها را انتخاب نمایید ، در غیر اینصورت از منوی PREFRENCES گزینه SEO & URLs را انتخاب نمایید.
در بخش تنظیم URLها (SET UP URLS) گزینه های زیر را تنظیم نمایید :
 
URL آشنا  – بلی                                                                     Friendly URL - YES
 
URL بومی (محلی) – خیر                                                          Accented URL – No
 
 
 
نهایتا بایستی این تنظیمات را ذخیره نمایید.
 
با توجه به اینکه جهت ذخیره نمودن این تنظیمات نیاز است که به پوشه ی wwwroot دسترسی نوشتن (write) اعطا گردد (راهنمای اعطای دسترسی به فایل و یا فولدری خاص) و این مورد موجب ایجاد فایل .htaccess در وب سایت می شود ، بایستی بعد از ذخیره ی تنظیمات مربوط به url rewrite ، فایل htaccess. ایجاد شده را حذف نمایید.
ضمنا دسترسی پوشه ی wwwroot را مجددا به حالت خواندن (read) بازگردانید.
توجه نمایید که در هر دو مرحله ی اعطای دسترسی و حذف دسترسی تیک گزینه Replace all permissions on child objects را انتخاب ننمایید.
از این بعد لینک موجود در آدرس بار به صورت بهینه نمایش داده می شود. مانند تصویر زیر :
 
 
 
استفاده از کاراکتر فارسی :
در صورتی که قصد استفاده از آدرس دهی فارسی مطالب سایت (منوها و مطالب و غیره) را دارید ، بایستی مراحل زیر را دنبال نمایید :

وارد File manager شوید . سپس بر روی فولدری که به نام دامنه شما وجود دارد کلیک کنید . با انتخاب گزینه ی  در کنار فایل index.php محتویات این فایل به نمایش در خواهند آمد. در این مرحله پس از تگ <?php اقدام به اضافه نمودن کد زیر نمایید.
 
if($_SERVER['UNENCODED_URL'])
    $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
 
فرمت نهایی این فایل همانند تصوری زیر خواهد شد :
 
 
در مرحله ی بعد بایستی همانند روش قبلی وارد پنل مدیریت پرستا شاپ شوید .در صورتی که بخش مدیریت پرستاشاپ فارسی می باشد ، از منوی تنظیمات ، گزینه SEO و URL ها را انتخاب نمایید .
در بخش تنظیم URLها گزینه های زیر را تنظیم نمایید :
 
URL آشنا  – بلی                                                                       Friendly URL – YES 
 
URL بومی (محلی) – بلی                                                          Accented URL – YES
 
 
نهایتا بایستی این تنظیمات را ذخیره نمایید.

توجه داشته باشید دقیقا همانند روش قبلی جهت ذخیره نمودن این تنظیمات نیاز است که به پوشه ی wwwroot دسترسی نوشتن (write) اعطا گردد و با توجه به اینکه این مورد موجب ایجاد فایل .htaccess در وب سایت می شود، بایستی بعد از ذخیره ی تنظیمات مربوط به url rewrite ، فایل htaccess. ایجاد شده را حذف نمایید.
ضمنا دسترسی پوشه ی wwwroot را مجددا به حالت خواندن (read) بازگردانید.
توجه نمایید که در هر دو مرحله ی اعطای دسترسی و حذف دسترسی تیک گزینه Replace all permissions on child objects را انتخاب ننمایید.
حال می توانید با تنظیمات مربوط به هریک از بخش های سایت (به عنوان مثال محصولات) و انتخاب گزینه ی ویرایش و مراجعه به سربرگ سئو ، در قسمت URL آشنا عبارت مدنظر خود را وارد نموده و تنظیمات را ذخیره نمایید.
 
 
از این بعد لینک های فارسی موجود نیز در آدرس بار به صورت بهینه نمایش داده می شود. مانند تصویر زیر :