PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آدرس سایت بدون www و مشکلات مربوطه !



dertgtr
October 28th, 2013, 19:30
سلام بر اساتید
مشکل عجیبی در مورد سایت یکی از دوستان بنده هست که من با تمام دانشم :دی نتونستم حل کنم عاجزانه نیاز به راهنمایی شما اساتید دارم :دی

مشکل سر این هست که سایت هم با www و هم بدون www محتوای یکسانی رو نشون میده و می دونید که گوگل سر این موضوع سایت رو ممکنه بلوکه کنه درواقع اگر سایت با www در مرورگر فراخوانی بشه باید اصولا به آدرس بدون www فروارد 301 بشه و برعکس

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

به نظر اساتید راهکار چیست؟

Tarfandaneh
October 28th, 2013, 20:23
سلام
اگر در گوگل وب مستر تعیین کنید سایت بدون www باز بشه فقط لینک هایی که گوگل در سایت خودش به شما میده بدون www باز میشه اگر می خواین کلاً حتی بدون گوگل هم وقتی در مرورگر www میزنیم حذف بشه و فقط با http باشه باید کدی که در لینک زیر نوشته را در فایل htaccess. شاخه public_html سایت قرار دهید.

How to remove www from your URL with mod_rewrite • Yoast (http://yoast.com/how-to-remove-www-from-your-url-with-mod_rewrite)

dertgtr
October 28th, 2013, 22:44
من کد زیر رو قبلا قرار می دادم که توصیه شده سایت های معروفی هست تو مبحث سئو :




RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domainname.com [NC] RewriteRule ^(.*)$
http://domainname.com/$1 [L,R=301]


ولی متاسفانه بعد قرار دادن کد بالا ارور Internal Server Error میده که دلیلش رو نمی دونم !

کدهایی که تو آدرس معرفی شده شما بود یعنی



RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]


و



RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]


جداگانه قرار دادم ولی همچنان مشکل پابرجا بود

Tarfandaneh
October 28th, 2013, 23:01
برای اینکه اخطار Internal Server نمایش داده نشه باید کد را همراه با همون خطی که خودش گذاشته یعنی RewriteEngine On و به جای example.com آدرس دامنه خودتون را در بالاترین نقطه فایل htaccess. قرار دهید.
بعد شما فقط باید یکی از کد هایی که در لینکی که من گفتم هست را قرار بدید نه دو تاش رو چون اولین کد برای حذف www و دومی برای اضافه کردن www است.
شما فقط کد اولی که در لینک هست را وارد کنید.

ipsat
October 28th, 2013, 23:12
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domainname.com$ [NC]
RewriteRule ^(.*)$ http://domainname.com/$1 [R,L]

dertgtr
October 29th, 2013, 00:12
برای اینکه اخطار Internal Server نمایش داده نشه باید کد را همراه با همون خطی که خودش گذاشته یعنی RewriteEngine On و به جای example.com آدرس دامنه خودتون را در بالاترین نقطه فایل htaccess. قرار دهید.
بعد شما فقط باید یکی از کد هایی که در لینکی که من گفتم هست را قرار بدید نه دو تاش رو چون اولین کد برای حذف www و دومی برای اضافه کردن www است.
شما فقط کد اولی که در لینک هست را وارد کنید.

ممنون از راهنمایی شما بله حق با شما بود کد



RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

رو که قرار دادم حل شد . البته من کدها رو با هم قرار نمی دادم . اشتباه من این بود که باید به جای domain.com اسم دومین سایت رو جایگزین می کردم

ممنون خیلی لطف کردید :53:

dertgtr
October 29th, 2013, 00:14
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domainname.com$ [NC]
RewriteRule ^(.*)$ http://domainname.com/$1 [R,L]


از راهنمایی شما هم ممنونم :53:

Tarfandaneh
October 29th, 2013, 10:48
ممنون از راهنمایی شما بله حق با شما بود کد



RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

رو که قرار دادم حل شد . البته من کدها رو با هم قرار نمی دادم . اشتباه من این بود که باید به جای domain.com اسم دومین سایت رو جایگزین می کردم

ممنون خیلی لطف کردید :53:

خواهش میکنم دوست عزیز
وظیفه بود.