رفتن به مطلب

پست های پیشنهاد شده

ارسال شده در (ویرایش شده)

سلام خدمت دوستان گلم

 

مشکل بزرگ من اینه که با استفاده از مدیریت سئو آدرس دهیم رو تغییر دادم و حتی یونیکد رو فعال کردم ولی آدرس هایی که عبارت فارسی دارن باهاشون مشکل دارم

 

به طور مثال آدرس

 

http://viyoona.com/درباره-ما

 

نمایش داده نمیشه ولی آدرس

 

http://viyoona.com/discussions

 

به درستی نمایش داده میشه. این مشکل در سایت هست و فقط فارسی ها مشکل داره حتی در لینک زیر

 

http://viyoona.com/product/easy-android-manager/امکانات

 

به جای ورود به قسمت امکانات از زیرشاخه مدیریت آسان آندروید وارد خود قسمت مدیریت آسان آندروید میشه !!!

 

من تنظیمات سئو رو به صورت عکس زمیمه شده تنظیم کزدم و از web.config  به کد زیر استفاده می کنم.

 

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Joomla! Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />
<add input="{QUERY_STRING}" pattern="(>|%3C)([^s]*s)+cript.*(<|%3E)" />
<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
</conditions>
<action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="Joomla! Rule 2">
<match url="(.*)" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />
<add input="{URL}" pattern="/component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
    </system.webServer>
</configuration>

 

لطفا کمکم کنید. می خوام سایت رو افتتاح کنم ولی به این مشکل برخوردم.

post-35098-0-95490900-1375655281_thumb.p

ویرایش شده توسط حسینی پارسا
اصلاح باکس کد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

شما نباید فایل web.config.txt رو تغییر نام بدید

 

برای فعالسازی سئو در جوملا میبایست ابتدا فایل htaccess.txt را به htaccess. تغییر نام بدید ( دقت کنید که علامت نقطه را میبایست قبل از حرف h وارد کنید ) و سپس در مدیریت جوملا تنظیمات مربوط به سئو را فعال کنید

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

شما نباید فایل web.config.txt رو تغییر نام بدید

 

برای فعالسازی سئو در جوملا میبایست ابتدا فایل htaccess.txt را به htaccess. تغییر نام بدید ( دقت کنید که علامت نقطه را میبایست قبل از حرف h وارد کنید ) و سپس در مدیریت جوملا تنظیمات مربوط به سئو را فعال کنید

 

موفق و پیروز باشید

یا حق

 

آخه سرور من ویندوزه. و فایل htaccess. روش کار نمیکنه.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

توصیه میشه که برای جوملا از هاست لینوکس استفاده کنید

 

به هر حال اون گزینه استفاده از Apache mod_rewrite با فایل htaccess. مرتبط میباشد و ربطی به web.config نداره

 

بهتره این گزینه رو در تنظیمات سئو غیرفعال کنید

 

میتونید برای حل مشکل از افزونه های مرتبط با سئو نظیر Acesef و یا sh404sef و ... استفاده کنید

 

قبل از استفاده از چنین افزونه هایی حتما" از فایلها و مخصوصا" دیتابیستون بک آپ تهیه کنید !!!

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

توصیه میشه که برای جوملا از هاست لینوکس استفاده کنید

 

به هر حال اون گزینه استفاده از Apache mod_rewrite با فایل htaccess. مرتبط میباشد و ربطی به web.config نداره

 

بهتره این گزینه رو در تنظیمات سئو غیرفعال کنید

 

میتونید برای حل مشکل از افزونه های مرتبط با سئو نظیر Acesef و یا sh404sef و ... استفاده کنید

 

قبل از استفاده از چنین افزونه هایی حتما" از فایلها و مخصوصا" دیتابیستون بک آپ تهیه کنید !!!

 

موفق و پیروز باشید

یا حق

 

هر دو افزونه رو تست کردم ولی باز هم نمیشه از عبارت های فارسی در لینک ها استفاده کنم !!!!!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
آقا کسی نفهمید مشکل از کجاست ؟

 

کمکم کنید

 

توضیحات جدید که فکر کنم کمک کنه:

یک کد مشابه رو روی 2 تا سرور تست کردم و نتایج یکسانی نداد.

 

لینک اول همون هاست خودم هست

لینک دوم هاست یکی از دوستانم

 

http://viyoona.com/aa.php/asds/شسیشششسیسیسی/سلام/sda?شسی

http://today4u.com/aa.php/asds/شسیشششسیسیسی/سلام/sda?شسی

 

همونطور که مشاهده میکنید هاست خودم بامشکل مواجه هست در حروف فارسی !!!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از مدیر سرورتون بخواهید که این تغیرات رو توی آپاچی اعمال کنن که بتونید از فایل htaccess. استفاده کنید

 

این خط :

#LoadModule rewrite_module modules/mod_rewrite.so

جایگزین بشه با :

LoadModule rewrite_module modules/mod_rewrite.so

این خط:

<FilesMatch "^\.ht">

جایگزین بشه با :

<FilesMatch "^ht\.">

این خط ها :

AllowOverride None

جایگزین بشه با :

AllowOverride All

حدودا 3 جا این خط آخر رو مشاهده می کنید

 

و بعد از این تغییرات می تونید فایل htaccess. رو با نام ht.access سیو کنید

 

فکر کنم به مدیر هاستتون بگید خودش بدونه که باید چی کار کنه

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
مشکل حل شد

 

و اما راه حل:


 

یه طور خلاصه باید بگم در web.config باید عبارت زیر رو اضافه کنیک

 

<serverVariables>

<set name=”REQUEST_URI” value=”{UNENCODED_URL}” replace=”false” />

</serverVariables>

 

و بعد از اون در هدر تمام صفحات یا در صفحه مرجع عبارت زیر رو بنویسیم

$_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];

 

اینم راه حل که صرفا باری رفع این مشکل در سرور های ویندوز هستش.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

همانطور که میدونیم سرور های ویندوز از فایل web.config پشتیبانی میکنن و در اغلب موارد از  پشتیبانی نمیکنن و همچنین با فارسی نویسی در هنگامی که mod seo فال باشه کار نخواهد کرد.
من بعد از 2 روز سرچ زدن و صحبت ها با پشتیبانی به این نتیجه رسیدم که بهترین راه اضافه کردن کد زیر به اول صفحه php هست.

 

if (isset($_SERVER['IIS_WasUrlRewritten']) &&
        $_SERVER['IIS_WasUrlRewritten'] == '1' &&
        isset($_SERVER['UNENCODED_URL']) &&
        $_SERVER['UNENCODED_URL'] != '')
{
        // IIS7 rewriting module.
         $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
}



 
به طور مثال برای سرور خودم این مشکل بود مثلا لینک زیر که باید به صفحه "راهنمای تصویری" منتهی بشه به شاخه بالاتر اون "جستجوی آسان زیرنویس" منتهی میشد.
http://viyoona.com/%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D8%A2%D8%B3%D8%A7%D9%86-%D8%B2%DB%8C%D8%B1%D9%86%D9%88%DB%8C%D8%B3/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C.html

یعنی آدرس

http://viyoona.com/%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D8%A2%D8%B3%D8%A7%D9%86-%D8%B2%DB%8C%D8%B1%D9%86%D9%88%DB%8C%D8%B3.html
ولی با افزودن این کد باعث میشه که عمل کدینگ انجام بشه و جایگذین REQUEST_URI اصلی خواهد شد.
 
به این ترتیب دیگه مجبور نیستید از لینک های با عبارت صرفا انگلیسی یا تاریخ دار استفاده کنید و میتونید از لغاا فارسی 
چون خیلی سرچ زدمتا به این نتیجه رسیدم گفتم که اینجا مطرح کنم تا بقیه هم استفاده کنن چون این مشکل خیلی ها هستش.
 
ممنون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...