-
April 30th, 2016, 20:57
#1
کنترل url هر پست یا دسته یه مانند وردپرس !
میخوام url هر پست cms که دارم مینویسم به این شکل بشه :
site.com/دانلود_آهنگ_جدید
فعلا url های cms به این شکل هست :
site.com/post.php?id=45
به نظرتون باید چیکار کنم تا به شکل بالا تبدیل بشه ؟ از Htaccess باید استفاده بشه؟
منبع آموزش فارسی دارید برای این کار یا خودتون میتونید راهنماییم کنید ؟ ممنون
-
-
April 30th, 2016 20:57
# ADS
-
April 30th, 2016, 21:08
#2
عضو دائم
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
April 30th, 2016, 21:34
#3
عضو انجمن
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
توصیه میشه یه از یه کد ادماده برای روتینگ سی ام استون استفاده کنین ! htaccess برا سی ام اس توصیه نمیشه ! تو داکیومنتیشن های خارجی بگردید این بحث یکم سطح بالا هست
-
تعداد تشکر ها از miladtnt به دلیل پست مفید
-
April 30th, 2016, 22:34
#4
عضو انجمن
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
درود .
اگر خودتون در حال برنامه نویسی هستید توصیه می کنم در htaccess این کد را قرار بدید :
کد:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
حال تمام درخواست ها به صورت get با آفست url به index.php ارسال می شه.
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
-
تعداد تشکر ها از shahinmq به دلیل پست مفید
-
April 30th, 2016, 23:03
#5
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
نوشته اصلی توسط
miladtnt
توصیه میشه یه از یه کد ادماده برای روتینگ سی ام استون استفاده کنین ! htaccess برا سی ام اس توصیه نمیشه ! تو داکیومنتیشن های خارجی بگردید این بحث یکم سطح بالا هست
چرا htaccess برای cms توصیه نمیشه؟ مشکل کندی اسکریپت پیدا میکنه؟ امنیتش؟
ممنون
- - - Updated - - -
نوشته اصلی توسط
sheagle
درود .
اگر خودتون در حال برنامه نویسی هستید توصیه می کنم در htaccess این کد را قرار بدید :
کد:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
حال تمام درخواست ها به صورت get با آفست url به index.php ارسال می شه.
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
فایلی که گفتیدو تو روت لوکال هاستم ساختم ( جایی که پوشه cms هست )
ولی وقتی وارد صفحه های سایتم شدم تغییری اعمال نشد ؟ رو لوکال اجرا میشه اصلا؟
این قسمت از پستتونو قشنگ متوجه نشدم :
حال شما می تونید با استفاده از $_GET['url'] و با استفاده از explode لینک های خودرا مدیریت کنید.
میشه یکم توضیح بدید
- - - Updated - - -
نوشته اصلی توسط
T.Toosi
تو لوکال هاست این گزینه فعاله؟
First of all, make sure you have installed and enabled rewrite module in Apache’s configuration
-
-
April 30th, 2016, 23:10
#6
عضو انجمن
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
نه زیاد بحث کندیش مطرح نیست اونوقت باید تو سی ام استون بخشی بزارید مثل وردپرس که کاربر انتخاب کنه پستاشو چجور نمایش بده و input فیلد براش بزارید ک ب سلیقه خودش بزاره اخرشم تنظیماتو با تابعای php تو htaccess بریزه و تنظیمات قبلیو ازش پاک کنه (اینجاش یکم جای فکر داره) اینا همش ب کنار
فک کنم یه باگ یا مشکلی تو ویرایش فایل هایی که نقطه دارن اولشون(مخفین) هست ک ی زمانی وردپرسم این مشکلو داشت
استفاده از روتینگ ها استاندارد ترم هس
- - - Updated - - -
تو لوکال هاست فک کنم تو xampp فعال باشه
-
تعداد تشکر ها از miladtnt به دلیل پست مفید
-
April 30th, 2016, 23:21
#7
عضو دائم
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
از هر جایی هاست میزبانی تهیه کنید rewrite module فعال هست اگر در لوکال کار میکنید باید فعال یا نصب کنید به طور مثال در xamp دیفالت ماژول فعال نیست.
-
تعداد تشکر ها از T.Toosi به دلیل پست مفید
-
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
داخل htaccess اینو نوشتم و الان لینک های سایت این شکلی شدن :
site.com/post.php?id=30 -----> site.com/post/30
مشکل فعلیم اینه که با هر دو url صفحه پست بالا میاد .
چیکار کنم که آدرس site.com/post.php?id=30 از بین بره کلا و هیچی بالا نیاد باهاش >؟
کد PHP:
RewriteEngine On
RewriteRule ^post/([0-9a-zA-Z]+)/?$ post.php?id=$1
-
تعداد تشکر ها از <?php?> به دلیل پست مفید
-
عضو دائم
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
یک راهش اینه شما با RewriteCond شرط بگذارید اگر post.php?id=30 باز کردند به صفحه اصلی هدایت شوند :
کد:
RewriteCond %{REQUEST_URI} ^/post\.php\?id=/([0-9a-zA-Z]+)$ [NC,OR]
RewriteRule . index.php [NC]
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
پاسخ : کنترل url هر پست یا دسته یه مانند وردپرس !
نوشته اصلی توسط
T.Toosi
یک راهش اینه شما با RewriteCond شرط بگذارید اگر post.php?id=30 باز کردند به صفحه اصلی هدایت شوند :
کد:
RewriteCond %{REQUEST_URI} ^/post\.php\?id=/([0-9a-zA-Z]+)$ [NC,OR]
RewriteRule . index.php [NC]
کار نمیکنه این دستور . یعنی کار میکنه ولی اون چیز که میخوام نشد
-