توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کنترل url هر پست یا دسته یه مانند وردپرس !
<?php?>
April 30th, 2016, 20:57
میخوام url هر پست cms که دارم مینویسم به این شکل بشه :
site.com/دانلود_آهنگ_جدید
فعلا url های cms به این شکل هست :
site.com/post.php?id=45
به نظرتون باید چیکار کنم تا به شکل بالا تبدیل بشه ؟ از Htaccess باید استفاده بشه؟
منبع آموزش فارسی دارید برای این کار یا خودتون میتونید راهنماییم کنید ؟ ممنون
توصیه میشه یه از یه کد ادماده برای روتینگ سی ام استون استفاده کنین ! htaccess برا سی ام اس توصیه نمیشه ! تو داکیومنتیشن های خارجی بگردید این بحث یکم سطح بالا هست
shahinmq
April 30th, 2016, 22:34
درود .
اگر خودتون در حال برنامه نویسی هستید توصیه می کنم در htaccess این کد را قرار بدید :
حال تمام درخواست ها به صورت get با آفست url به index.php ارسال می شه.
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
<?php?>
April 30th, 2016, 23:03
توصیه میشه یه از یه کد ادماده برای روتینگ سی ام استون استفاده کنین ! htaccess برا سی ام اس توصیه نمیشه ! تو داکیومنتیشن های خارجی بگردید این بحث یکم سطح بالا هست
چرا htaccess برای cms توصیه نمیشه؟ مشکل کندی اسکریپت پیدا میکنه؟ امنیتش؟
ممنون
- - - Updated - - -
درود .
اگر خودتون در حال برنامه نویسی هستید توصیه می کنم در htaccess این کد را قرار بدید :
حال تمام درخواست ها به صورت get با آفست url به index.php ارسال می شه.
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
فایلی که گفتیدو تو روت لوکال هاستم ساختم ( جایی که پوشه cms هست )
ولی وقتی وارد صفحه های سایتم شدم تغییری اعمال نشد ؟ رو لوکال اجرا میشه اصلا؟
این قسمت از پستتونو قشنگ متوجه نشدم :
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
میشه یکم توضیح بدید
تو لوکال هاست این گزینه فعاله؟
First of all, make sure you have installed and enabled rewrite module in Apache’s configuration
miladtnt
April 30th, 2016, 23:10
نه زیاد بحث کندیش مطرح نیست اونوقت باید تو سی ام استون بخشی بزارید مثل وردپرس که کاربر انتخاب کنه پستاشو چجور نمایش بده و input فیلد براش بزارید ک ب سلیقه خودش بزاره اخرشم تنظیماتو با تابعای php تو htaccess بریزه و تنظیمات قبلیو ازش پاک کنه (اینجاش یکم جای فکر داره) اینا همش ب کنار
فک کنم یه باگ یا مشکلی تو ویرایش فایل هایی که نقطه دارن اولشون(مخفین) هست ک ی زمانی وردپرسم این مشکلو داشت
استفاده از روتینگ ها استاندارد ترم هس
- - - Updated - - -
تو لوکال هاست فک کنم تو xampp فعال باشه
T.Toosi
April 30th, 2016, 23:21
از هر جایی هاست میزبانی تهیه کنید rewrite module فعال هست اگر در لوکال کار میکنید باید فعال یا نصب کنید به طور مثال در xamp دیفالت ماژول فعال نیست.
<?php?>
May 1st, 2016, 00:54
داخل htaccess اینو نوشتم و الان لینک های سایت این شکلی شدن :
site.com/post.php?id=30 -----> site.com/post/30
مشکل فعلیم اینه که با هر دو url صفحه پست بالا میاد :) .
چیکار کنم که آدرس site.com/post.php?id=30 از بین بره کلا و هیچی بالا نیاد باهاش >؟
کار نمیکنه این دستور . یعنی کار میکنه ولی اون چیز که میخوام نشد
shahinmq
May 1st, 2016, 01:35
فایلی که گفتیدو تو روت لوکال هاستم ساختم ( جایی که پوشه cms هست )
ولی وقتی وارد صفحه های سایتم شدم تغییری اعمال نشد ؟ رو لوکال اجرا میشه اصلا؟
این قسمت از پستتونو قشنگ متوجه نشدم :
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
میشه یکم توضیح بدید
قبل از پاسخ به سوالتون ، از معماری MVC استفاده می کنید یا خیر ؟
بهتره درسیستمتون فقط یک فایل index باشه و بقیه لینک ها به صورت مجازی ساخته بشه.
اول برای استفاده از اون کد htaccess لازم هستش که rewrite فعال باشه ، در صورتی که از لوکال استفاده می کنید از httpd.conf دنبال LoadModule rewrite_module modules/mod_rewrite.so بگردید و درصورتی که کنار آن # (هشتگ) بود ، آنرا بردارید و ذخیره کنید و در نهایت xampp یا wamp را restart کنید.
حال طبق همون دستور htaccess ، فرضا اگر آدرس ما چنین باشد : test.com/news/5 ، این قسمت یعنی news/5 به صورت get به index.php ارسال میشه و اگر $_GET['url'] را echo کنید ، به شما news/5 نمایش داده خواهد شد.
حال با استفاده از explode می تونیم news/5 را به آرایه تبدیل کنیم ( به صورت مجزا یعنی آرایه شماره 0 برابر با news و آرایه شماره 1 برابر با 5)
حال می تونیم طوری برنامه را بنویسیم که اگر آرایه 0 news بود ، بره فایل های مربوط به اخبار را در index فراخوانی کنه و آیدی شماره 5 را از دیتابیس بیاره.
miladtnt
May 1st, 2016, 02:08
کار نمیکنه این دستور . یعنی کار میکنه ولی اون چیز که میخوام نشد
99% احتمال میدم یا این بخشو کامل درست نمیکنین یا از htaccess استفاده نمیکنین :)