آدرس سایت با www یا بدون www
شاید برای شما هم پیش آمده باشد که ببینید بعضی سایت ها www. دارند ولی بعضی از آنها بدون www می باشند!
به نظر من نبودن www از دونش بهتره , خوب سلیقه هست دیگه, شما هم می تونید سایتتونو با www یا بدون اون لود کنید اما مشکل اصلی اینه که نباید با هر دو تا لود بشه!یعنی یا فقط با www یا فقط بدون www؛
چون روی سئو وب سایت شما تاثیر منفی دارد, و تقریبا رنک امتیاز با www و بدون اون جدا میشه و گوگل اونها رو دو تا آدرس جدا از هم می دونه!
برای مثال :
PHP تیــــــک - طراحی وب, آموزش و پروژه با phptik.com فرق می کنه و برای گوگل دو تا صفحه جداست!
www.phptik.com/mypage هم با آدرس phptik.com/mypage فرق می کنه اگه تا الان بیخیال این قضیه بودید احتمالا الان متوجه میشید که این یه فاجعه هست!
حالا راه حل !
بهتره اول تصمیم بگیریم سایت با www باشه یا بدون اون؟!
فایل htaccess ادیت کنید و
اگه مایل هستید سایت با www فقط بالا بیاد:
کد PHP:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
اگه مایل هستید سایت بدون www بالا بیاد :
کد PHP:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^my-domain\.com$ [NC]
RewriteRule ^(.*)$ http://my-domain.com/$1 [R=301,L]
http://www.phptik.com/wp-includes/im...icon_smile.gif به همین راحتی این دیگه غصه خوردن نداره
منبع: آدرس سایت با www یا بدون www
پاسخ : آدرس سایت با www یا بدون www
ممنون بابت اموزش:x خیلی از دوستان این مشکل برمیخورند 8-|
پاسخ : آدرس سایت با www یا بدون www
دَم ِ شما گرم . خیلی لازمم بود ;;)
پاسخ : آدرس سایت با www یا بدون www
با تشکر از دوست عزیزمان.
بنده روش بهتری را پیشنهاد می کنم که پیشرفته تر از روش قبلی است و از سیستم Drupal اقتباس شده است:
برای باز شدن سایت با پیشوند www :
کد PHP:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
برای باز شدن سایت بدون پیشوند www:
کد PHP:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
</IfModule>
برخی از مزایای این روش:
1 - پشتیبانی از https
2 - عدم نیاز به تغییر کد برای دامنه های مختلف. دقیقا همین کد را همه جا می توانید استفاده کنید.
3 - عدم بروز مشکل در صورت نصب نبودن ماژول rewrite
4 - پشتیبانی از احراز هویت کاربر (حتی در حالت استفاده از FastCGI)
پاسخ : آدرس سایت با www یا بدون www
از راهنمایی خوبتون ممنون ولی من روش اول رو بیشتر میپسندم استفاده از کدهای پیچیده از نظر امنیتی درست نیست
پاسخ : آدرس سایت با www یا بدون www
نقل قول:
نوشته اصلی توسط
vebc
از راهنمایی خوبتون ممنون ولی من روش اول رو بیشتر میپسندم استفاده از کدهای پیچیده از نظر امنیتی درست نیست
دوست عزیز، این طور که می فرمایید نیست.
اولا که این کد پیچیده نیست و ساده است.
ثانیا مشکل امنیتی به خصوصی ندارد.
ثالثا مشکلات روش قبلی رو نداره و از حالت ها و کانفیگ های بیشتری در سرور پشتیبانی می کنه
و از این گذشته این فرضیه که "استفاده از کدهای پیچیده از نظر امنیتی درست نیست" ایده ی صحیحی نمی باشد. زمانی که کد درست نوشته شده باشد، استفاده از آن همواره توصیه می شود.
پیروز باشید.
پاسخ : آدرس سایت با www یا بدون www
بهتره قبل از این امور چک کنید ببینید سایت شما یا تریپل دابیلیو رنک گرفته یا بدون اون بعدش اقدام به تصمیم گیری کنید
چون بسیاری از ساتا فقط بدون این مورد رنک دارن که اگه متقل کنن سرعت ایندکس میاد پایین
پاسخ : آدرس سایت با www یا بدون www
نقل قول:
نوشته اصلی توسط
hejazee
با تشکر از دوست عزیزمان.
بنده روش بهتری را پیشنهاد می کنم که پیشرفته تر از روش قبلی است و از سیستم drupal اقتباس شده است:
برای باز شدن سایت با پیشوند www :
کد PHP:
<ifmodule mod_rewrite.c>
rewriteengine on
rewriterule ^ - [e=protossl]
rewritecond %{https} on
rewriterule ^ - [e=protossl:s]
rewriterule ^ - [e=http_authorization:%{http:authorization}]
rewritecond %{http_host} .
Rewritecond %{http_host} !^www\. [nc]
rewriterule ^ http%{env:protossl}://www.%{http_host}%{request_uri} [l,r=301]
</ifmodule>
برای باز شدن سایت بدون پیشوند www:
کد PHP:
<ifmodule mod_rewrite.c>
rewriteengine on
rewriterule ^ - [e=protossl]
rewritecond %{https} on
rewriterule ^ - [e=protossl:s]
rewriterule ^ - [e=http_authorization:%{http:authorization}]
rewritecond %{http_host} ^www\.(.+)$ [nc]
rewriterule ^ http%{env:protossl}://%1%{request_uri} [l,r=301]
</ifmodule>
برخی از مزایای این روش:
1 - پشتیبانی از https
2 - عدم نیاز به تغییر کد برای دامنه های مختلف. دقیقا همین کد را همه جا می توانید استفاده کنید.
3 - عدم بروز مشکل در صورت نصب نبودن ماژول rewrite
4 - پشتیبانی از احراز هویت کاربر (حتی در حالت استفاده از fastcgi)
یعنی چی از دروپال اقتباس شده اصلا چه ربطی به دروپال داره شما با این رول ها به وب سرور آپاچی میگید چطور عمل کنه هیچ ربطی هم به cms نداره!!!
پاسخ : آدرس سایت با www یا بدون www
نقل قول:
نوشته اصلی توسط
compiler
یعنی چی از دروپال اقتباس شده اصلا چه ربطی به دروپال داره شما با این رول ها به وب سرور آپاچی میگید چطور عمل کنه هیچ ربطی هم به cms نداره!!!
دوست عزیز، یعنی این که کدهای فوق در فایل .htaccess ای که همراه با Drupal 7.24 موجود است، وجود دارد. در واقع من کدها را از این نرم افزار Open source اقتباس کرده ام.
این جا را ببینید:
http://drupalcode.org/project/drupal...79c:/.htaccess
پاسخ : آدرس سایت با www یا بدون www
اینا برای وب سرور apache هست...
همه که وب سروشون آپاچی نیست.
تنظیمات برای وب سرور nginx:
انتقال دامنه بدون www به دامنه با www :
کد:
server {
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
بلعکس:
کد:
server {
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}