1 ضمیمه
نقل قول: ترفندهای .htaccess
سلام دادش گلم انصافا خیلی زحمت کشیدید بابت این آموزش خیلی خوبتون :تشویق:
ببین من یه مشکل بد توی این قضیه دارم . آقا به در و دیوار و جاده خاکی و اسفالت و راه آهن و سایتهای خارجی (کمی زبان بلدم) زدم ولی مشکلم حل نشدم کلی آموزش شما رو هم خوندم ولی نشد اگه مایل باشید حاضرم team wiever بزنم تا مشکلم حل بشه البته اگه شما موافق باشید .:لبخندساده:
1 - مدل ادرس دهی توی صفحه باید چطوری باشه ؟
2 - مدل کد htaccess باید چطوری باشه ؟
این سایتمه ولی هرکاری کردم نتونستم درستش کنم الان این کد htaccess هست که توی هاست قرار داره ولی کار نمیکنه :افسرده:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^products/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ products.php?title=$1&carID=$2 [QSA,NC,L]
ببین داداش بعضی پارامترها string هست و برخی دیگر number !!
میخوام این آدرس :
http://charcharkhkala.com/products.php?title=آزرا&carID=0002 (البته تو این ادیتور درست نمایش داده نمیشه لینکشو گذاشتم تا خودتون مستقیم ببینید)
البته بعضی آدرساشم اینجوریه
بهر حال میخوام اینجوری بشه
www.charcharkhkala.com/pro/carName/0003 البته بجای carName نام فارشی میخوام بذارم اینجا ادیتور متن درست نشون نمیده یا مثلا میتونم جاشون رو عوض کنم مثلا
www.charcharkhkala.com/pro/0003/آزرا
این فایلها رو هم فرستادم شما زحمت بکشید لطفا یه مثال تست شده رو برام بنویسید که حالیم بشه خیلی گیج شدم :متعجب:
نقل قول: ترفندهای .htaccess
آقا یکی کمک کنه لطفا .:گریه:
نقل قول: ترفندهای .htaccess
سلام عید همگی مبارک
بالاخره درست شد. با تشکر از همه دوستان چه اونخایی که وقت گذاشتند و راه حل پیشنهاد دادند و چه اونهایی که شاید به خاطر مشغله وقت نکردند پاسخ بدهند.
ولی بالاخره متوجه شدم مشکل از کجاست.
اول از همه نوع آدرس دهی توی صفحه باید اینجوری باشه
<a href="products/proName/0003" title="title">proName</a>
بعدش توی htaccess اینو بزنید
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^products/(.*)/(.*)$ ./products.php?title=$1&carID=$2
و حاشو ببرید البته یه نکته داره بعضی وقتها ممکنه فایلهای استایل و اسکریپتهاتون لود نشن که باید توی صفحه مورد نظر توی head اون بالای بالا اینو بزنید . آدرس دهی :
<base href="http://yourdomain.com/" />
دوستان اگه مشکلی بود بگن در حد اطلاعاتم راهنمایی میکنم.
موفق باشید.
نقل قول: ترفندهای .htaccess
یه سوال اینکه آخر دستورات [NC] یا مثلا [L] یا جلوی بعضی دستورات !-f میزنید یا [QS] یعنی چی اگه میشه با مثال بیان نمایید.
نقل قول: ترفندهای .htaccess
چطوری میتونم با تغییر در کد htaccess بشه
صفحات بدون index خطا بده
با کد Options -Indexes استفاده میکنم ولی خطای 403 میده
راهی هست که بشه صفحات بدون کد و خطای 404 نشون بده ؟
(لطفا کد کامل و بزارین )
نقل قول: ترفندهای .htaccess
سلام بچه ها خسته نباشید یه سوال اگه بخایم به عنوان مثال اپلود پسوندی رو در یک پوشه جلوگیری کنیم باید چیکار کنیم مثلا فرض کنید پوشه فایل های اپ ما پوشه uploads هست خوب حالا هر کاربری که ثبت نام میکنه با نام کاربری خودش در داخل پوشه اپلود یه پوشه دیگه ساخته میشه تا فایل های خودشو تو پوشه خودش با یوزر خودش اپلود کنه حالا سوال اینجاست که چطور با htaccess کاری کنیم که پوشه یوزر ها در داخل پوشه uploads از اپلود کردن غیر مجاز جلوگیری کنیم من منظورم کلی هست مثلا میخام اینو بگم که چطور یه فایل htaccess تو پوشه uploads ایجاد کنم تا هواسش به داخل پوشه های یوزر ها باشه تا یوزی فایل مخرب یا پسوند غیر مجاز اپلود نکنه این سوال اول سوال دوم اینکه چطور با htaccess پسوند های مجاز رو معرفی کنم تا هر کاربر تو پوشه کاربری خودش فایل های مجاز رو اپلود کنه سوالم تقریبا یکی هست فقط میخام کد این کارو واسه htaccess بزارین با سپاس
نقل قول: ترفندهای .htaccess
سلام دوستان
کد user agent می خوام که گوگل بات allow کنه و باقیه بات ها رو deny میشه بدین
نقل قول: ترفندهای .htaccess
با عرض شرمندگی بعد از دو سال برگشتیم به این تاپیک
بدون مقدمه یه چند تا کد و توضیح براتون میذارم :
با این یه خط دستور تمامی پسوندهای مثلا php رو به html تبدیل می کنید (برای سئو) . معمولا این دستور رو در انتهای فایلتون قرار بدید تا با دیگر پسوندهای html که تولید کردید قاطی و به ارور برخورد نکنید .
RewriteRule ^(.*).html$ $1.php [L]
یه داستان جدید در مورد گوگل اینه که باید دایرکتوری های منظم برای سایتتون ایجاد کنید برای مثال من با این کد میگم نام صفحه about.php منو تبدیل کن به یک فولدر به اسم about/
RewriteRule ^about/$ about.php [L]
جالب اینجاست که شما زمانی که در آدرس بار چنین وارد می کنید about/index.html با ارور مواجه میشید و در اینجا گوگل متوجه میشه که شما به طور ناشیانه ای دارید آدرس ها رو بهتر می کنید و امتیاز کمتری می گیرید . شما برای رفع این مشکل باید : برای هر دفعه تغییر آدرس برای هر یک فایل دو ریرایت انجام بدید :
RewriteRule ^about/$ about.php [L]
RewriteRule ^about/index.html$ about.php [L]
با این دو خط کد می تونید از این مشکل در امان باشید .
در سئو وقتی آدرس دهی انجام میدید که به فولدر ختم میشه باید یه جوری برنامه نویسی کنید تا آدرس دهی هاتون منظم و پله پله ایجاد بشه برای مثال :
با ریرایت کردن یک فایل php میاید این آدرس رو درست می کنید : www.test.com/product/
برای گروه بندی محصولات باید به این صورت آدرس دهی کنید : www.test.com/product/group/
برای نمایش محصول باید به صورت عمل کنید : www.test.com/product/group/name.html
اگر دقت کنید آدرس دهی ها پله پله ای شده . بارها شده جاهای مختلف دیدم که فولدر های الکی درست کردن و وقتی یه قسمتش رو پاک میکردم با خطا مواجه میشدم . این اشتباهه . پس از این به بعد می تونید آدرس های منظم تولید کنید تا در گوگل هم منظم دیده بشید ، دقیقا به همین صورت که آدرس دهی می کنید در گوگل پله پله ای نمایش داده میشید (موقع نمایش سایتتون در گوگل ، زیر عنوان سایتتون این شاخه بندی ها نمایش داده میشه)
مثلا رکوردی که گوگل میاره :
محصول سایت تست
product group
(یعنی فولدر های قبل محصول رو براتون لینک میکنه - اگر قوانین رو رعایت کنید)
امیدوارم واضح توضیح داده باشم .
موفق و پیروز باشید .
نقل قول: ترفندهای .htaccess
سلام
خیلی ممنون از آقای قربانی بابت راهنمایی های مفیدتون.
بنده یه مشکلی دارم، یه سرور دانلود دارم که لینک ها به صورت مستقیم لینک داده شده، حالا میخوام هر کسی روی لینک دانلود کلیک کرد، پیام وارد کردن یوزر پسورد براش بیاد و یوزر پسوردشو که توی دیتابیس هست بزنه و اگه صحیح بود بتونه دانلود کنه
یه نوع هست که یوزر و پسورد در فایل htpasswd ذخیره میکنی که اون هیچ بدرد بنده نمیخوره، می خوام یوزر ها رو از دیتابیس بخونه، کلی تحقیق کردم فهمیدم یه ماژول هست برای اپاچه به اسم Mod_auth_mysql اما هرچی باهاش ور رفتم کار نکرد فقط کد رو که توی htaccess میزارم ارور 500 میده صفحه
ممنون میشم راهنمایی کنید و اگه راه راحت تری هست به بنده بگید. :لبخندساده:
نقل قول: ترفندهای .htaccess
سلام خسته نباشید
دوستان من یه راهنمایی می خوام ، چه کدی باید توی اج تی اکسز نوشت که مثلا هر لینکی از سایتمون که در یک سایت ارجاع داده شده مسدود بشه و کلا سایت رو باز نکنه ؟
مثلا لینک های مختلفی از سایت ما توی سایت domine.com هست حالا ما چطور میتونیم این سایت domine.com رو ببریم توی لیست سیاه که ازش به سایتمون ارجاع داده نشه مثلا با کلیک بر روی لینک ها اصلا سایت ما بالا نیاد یا مثلا به یه مسیر که وجود نداره هدایت بشه مثل www.test.com/jfhfjkhkhj.php (آدرس سایت فرضی ما test.com هست)
نقل قول: ترفندهای .htaccess
بارها شده و برای منم پیش اومده که وقتی از مد ریرایت استفاده می کنیم باید آدرس دهی ها کامل باشه حتی در فایل های خارجی CSS مثل فونت یا تصویر یا یا حتی جی کوئری یا JS و ... چون در غیر این صورت هیچ کدوم نمایش نمیده . (خیلی ها روی فونت مشکل داشتن)
با کدی جدید تمام مشکلات شمارو حل کردم .
برین حال کنید .
# Control BY mr.Ghorbani
<ifModule mod_deflate.c>
<filesMatch "\.(svg|ttf|otf|eot|woff|woff2|css|js|php|html )$">
Header set Access-Control-Allow-Origin "*"
</filesMatch>
</ifModule>
# END Control mr.Ghorbani
موفق باشید
نقل قول: ترفندهای .htaccess
نقل قول:
سلام
خیلی ممنون از آقای قربانی بابت راهنمایی های مفیدتون.
بنده یه مشکلی دارم، یه سرور دانلود دارم که لینک ها به صورت مستقیم لینک داده شده، حالا میخوام هر کسی روی لینک دانلود کلیک کرد، پیام وارد کردن یوزر پسورد براش بیاد و یوزر پسوردشو که توی دیتابیس هست بزنه و اگه صحیح بود بتونه دانلود کنه
یه نوع هست که یوزر و پسورد در فایل htpasswd ذخیره میکنی که اون هیچ بدرد بنده نمیخوره، می خوام یوزر ها رو از دیتابیس بخونه، کلی تحقیق کردم فهمیدم یه ماژول هست برای اپاچه به اسم Mod_auth_mysql اما هرچی باهاش ور رفتم کار نکرد فقط کد رو که توی htaccess میزارم ارور 500 میده صفحه
ممنون میشم راهنمایی کنید و اگه راه راحت تری هست به بنده بگید. :لبخندساده:
مشکل ارور 500 از 3 خط کد اول قایل اچ تی اکسس هست (با سرورتون تنظیم نمیشه)
شاید با این مشلت حل شه :
AddDefaultCharset utf-8
Options +SymLinksIfOwnerMatch
RewriteEngine On
نقل قول:
سلام خسته نباشید
دوستان من یه راهنمایی می خوام ، چه کدی باید توی اج تی اکسز نوشت که مثلا هر لینکی از سایتمون که در یک سایت ارجاع داده شده مسدود بشه و کلا سایت رو باز نکنه ؟
مثلا لینک های مختلفی از سایت ما توی سایت domine.com هست حالا ما چطور میتونیم این سایت domine.com رو ببریم توی لیست سیاه که ازش به سایتمون ارجاع داده نشه مثلا با کلیک بر روی لینک ها اصلا سایت ما بالا نیاد یا مثلا به یه مسیر که وجود نداره هدایت بشه مثل
www.test.com/jfhfjkhkhj.php (آدرس سایت فرضی ما test.com هست)
مشکلتون با توابع $SERVER حل میشه در موردش تحقیق کن و کاراییشو یاد بگیر قطعا به هدفت میرسی . من چیزی که توی میخواییو با ایت توابع به هدف رسیدم
موفق باشید
نقل قول: ترفندهای .htaccess
با سلام خدمت دوستان
من برای دو زبانه کردن سایتم متغیر lang$=fa , و یا en قرار میدم که با htaccess به این صورت میشه
<a href="http://localhost/htaccess/index.php/fa">fa</a>
<a href="http://localhost/htaccess/index.php/en">en</a>
و این کد ها رو هم در بخش htaccess قرار دادم
RewriteRule^([^/]*)/([^/]*)/?$ index.php?lang=fa [QSA,NC,L]
RewriteRule ^([^/]*)/([^/]*)/?$ index.php?lang=en [QSA,NC,L]
الان مشکل من اینجاس که وقتی به صفحه ایندکس میام میخوام اگه کاربر روی en کلیک کرده سایت رو به صورت انگلیسی و
وقتی روی fa کلیک کرده به صورت فارسی نمایش بده که در اینجا فقط مقدار fa رو میتونم داخل متغیر lang$ قرار بدهم
ممنون میشم راهنماییم کنید
نقل قول: ترفندهای .htaccess
دوستان کسی نمیتونه به من کمک کنه؟
نقل قول: ترفندهای .htaccess
تاپیکو آوردم بالا کسایی که مشکل htaccess دارن مشکلاتشونو برطرف کنن.