PDA

View Full Version : سوال: ریدایرکت به بدون www و بروز یک مشکل



pirmard66
شنبه 09 شهریور 1392, 04:04 صبح
سلام خدمت اساتید و دوستان محترم

با این دستور :



RewriteEngine on

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


اقدام به ریدایرکت 301 کردم به صفحه بدون www

حالا مشکلی که پیش اومده من از ck editor استفاده کردم و آدرس عکس هارو داخل اون گذاشتم.

با 3800 مطلب عکس دار چگونه www. را از اول عکس ها بردارم.؟؟؟

چون اینطوری وقتی مطلب رو باز میکنم عکس ها نمایش داده نمیشن و وقتی روشون کلیک میکنی خطای 404 میده!( چون عکسها با www وارد شده اند )

امکانش هست مشکل از کد htaccess باشه؟

خواهشا دوستان راهنمایی کنم برای برداشتن www. از اول آدرس کلیه عکس هام چه کنم؟

MMSHFE
شنبه 09 شهریور 1392, 08:07 صبح
فکر کنم با تابع RegEx توی خود MySQL و جایگزین کردن آدرس تصاویر یافت شده با نسخه بدون .www بتونید مشکل رو حل کنید. توی اینترنت دنبال Update fields with RegEx function in MySQL جستجو کنید.

AliRezaPro
شنبه 09 شهریور 1392, 09:42 صبح
از تابع REGEXP در خود Mysql میتواندی استفاده کنید
برای حدف www

#^(http(s)?://)?w{3}\.#
ببینید :

http://dev.mysql.com/doc/refman/5.1/en/regexp.html

pirmard66
شنبه 09 شهریور 1392, 12:42 عصر
ممنون از پاسخ دهی.

فقط من دقیق متوجه نشدم.

ببینید من آدرس عکس هام داخل یک فیلد با متن مطلب میره ( از ck editor) استفاده میکنم.!

اگه داخل متن هم www. باشه اونم میپره؟

میشه یکم کد هارو توضیح بدید..ممنون

MMSHFE
شنبه 09 شهریور 1392, 12:48 عصر
اگه RegEx رو درست بنویسید خیر. مثلاً اینطوری بنویسید:

'#img.*?src=\'|"?(http(s)?://)?w{3}\.\'|"?#i'
الآن این کد فقط تصاویری که توی src اونها آدرس با .www باشه پیدا میکنه و به لینکهای توی متن عادی کاری نداره.

pirmard66
شنبه 09 شهریور 1392, 12:58 عصر
اگه RegEx رو درست بنویسید خیر. مثلاً اینطوری بنویسید:

'#img.*?src=\'|"?(http(s)?://)?w{3}\.\'|"?#i'
الآن این کد فقط تصاویری که توی src اونها آدرس با .www باشه پیدا میکنه و به لینکهای توی متن عادی کاری نداره.

الان این کد شما رو داخل چه تابعی بزارم؟ میشه کامل بنویسینش؟ ( میشه توضیحی بابت کارکرد کد بدین؟)

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



UPDATE tbl_name
SET field_name = REPLACE(field_name,string_to_find,string_to_replac e)



جواب داد ولی نمیدونم www. های داخل مطالب رو هم از بین میبره یا نه؟

AliRezaPro
شنبه 09 شهریور 1392, 14:39 عصر
اینجا رو ببینید :

http://stackoverflow.com/questions/15167630/301-redirect-everything-to-new-website-root-whole-site-including-sub-pages-move

pirmard66
شنبه 09 شهریور 1392, 14:46 عصر
میشه این کدی که خودم دادم رو بررسی کنید؟ که تمام عکس ها بدون www بشن؟



UPDATE tbl_name
SET field_name = REPLACE(field_name,string_to_find,string_to_replac e)

pirmard66
شنبه 09 شهریور 1392, 15:06 عصر
با همین کد انجام دادم...امیدوارم مشکل جدیدی پیش نیاد.

ممنونم از دوستان



UPDATE tbl_name
SET field_name = REPLACE(field_name,string_to_find,string_to_replac e)

رضا قربانی
شنبه 09 شهریور 1392, 16:03 عصر
دو تا کار می تونی بکنی :
1 : موقع نمایش عکس با تابع پی اچ پی چهار کاراکتر اول عکس رو برداری و نمایشش بدی
2 : با استفاده از این تاپیک (http://barnamenevis.org/showthread.php?325327-replace-%D8%AF%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-%D8%AA%D9%88%D8%B3%D8%B7-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-sql) بانک اطلاعاتی رو اصلاح کنید .

موفق باشید