PDA

View Full Version : مشکل در ساخت مطالب در cms



esteftaats
دوشنبه 05 اسفند 1392, 23:47 عصر
خوب اولا می بخشید که عنوان زیاد جالبی انتخاب نکردم. چون چیز بهتری به ذهنم نرسید.

راستش من دارم یه مدیریت محتوی کوچولو می نویسم که به یه مشکلی خوردم. اونم این که می خوام کاربر بتونه مطلب ایجاد بکنه اما چجوری؟

مثلا به این دو تا آدرس نگاه کنین :

http://www.filehippo.com/download_winsnap

http://www.filehippo.com/download_syncback

خوب من اون بخشی رو که باهاش مشکل دارم رو بولد کردم.

یعنی نمی دونم چجوری باید چنین آدرس هایی رو بخونم. مثلا اگه اینجوری باشه :

http://www.filehippo.com/pages.php?text=download_syncback

می دونم که با استفاده از روش get می تونم بخونمش اما چجوری باید مطالب رو به شکل اون 2 لینک بالا در بیارم؟

البته می دونم یه روش اینه که میشه با فایل ها چنین صفحاتی رو با دستورات php ساخت اما به نظرم با دیتابیس باشه بهتره.

ممنون

SlowCode
سه شنبه 06 اسفند 1392, 00:11 صبح
تو htaccess این کد رو بنویس:


RewriteEngine On
RewriteRule ^([^/]*)$ /pages.php?text=$1 [L]


برای تولید کدهای Mod Rewrite هم میتونی از این سایت (http://www.generateit.net/mod-rewrite/index.php) کمک بگیری.

esteftaats
سه شنبه 06 اسفند 1392, 00:25 صبح
تو htaccess این کد رو بنویس:


RewriteEngine On
RewriteRule ^([^/]*)$ /pages.php?text=$1 [L]


برای تولید کدهای Mod Rewrite هم میتونی از این سایت (http://www.generateit.net/mod-rewrite/index.php) کمک بگیری.

یعنی مثلا واسه تبدیل http://www.filehippo.com/pages.php?text=download_syncback به http://www.filehippo.com/download_syncback باید صفحه ای به نام pages.php درست کنم و تعریف کنم که اگه download_syncback فرخوان شد دستورات مربوط به خودش رو اجرا کنه و بعدش توی htaccess اون عبارت رو بنویسم و تمام؟

SlowCode
سه شنبه 06 اسفند 1392, 00:30 صبح
بله. برای گرفتن مقدار پارامتر text همون کد قبلی خودت رو مینویسی:


echo $_GET['text'];

esteftaats
سه شنبه 06 اسفند 1392, 01:42 صبح
بله. برای گرفتن مقدار پارامتر text همون کد قبلی خودت رو مینویسی:


echo $_GET['text'];

ممنون دوست عزیز.
اینکارو کردم اما صفحه سفید میاد.

کدهای htaccess :


<Files ~ "^\.(htaccess|htpasswd)$">
RewriteEngine On
RewriteRule ^([^/]*)\.php$ /pages.php?text=$1 [L]
</Files>


اما وقتی مثلا آدرس http://landfun.ir/pages.php?text=ok رو می زنم درست چاپ می کنه اما وقتی http://landfun.ir/pages/ok.php رو می زنم صفحه سفید نشون میده.
داخل pages.php هم


echo $_GET['text'];

رو وارد کردم.

SlowCode
سه شنبه 06 اسفند 1392, 01:50 صبح
این کدها رو با کد قبلی جایگزین کن:

RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^([^/]*)$ /index.php?text=$1 [L]

اینطوری اگه درخواست فایل یا پوشه باشه بازش میکنه در غیر اینصورت برگشت میده به صفحه index.php یا همون pages.php شما.

esteftaats
سه شنبه 06 اسفند 1392, 01:59 صبح
این کدها رو با کد قبلی جایگزین کن:

RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^([^/]*)$ /index.php?text=$1 [L]

اینطوری اگه درخواست فایل یا پوشه باشه بازش میکنه در غیر اینصورت برگشت میده به صفحه index.php یا همون pages.php شما.

ممنون دوست عزیز ولی بازم صفحه سفید میاره : http://landfun.ir/pages/ok

SlowCode
سه شنبه 06 اسفند 1392, 02:26 صبح
مشکل اینجاست که شما دارین صفحه index.php رو از پوشه pages صدا میکنین و htaccess رو تو روت گذاشتین.
فایل htaccess رو داخل پوشه pages بزار.

esteftaats
سه شنبه 06 اسفند 1392, 12:00 عصر
مشکل اینجاست که شما دارین صفحه index.php رو از پوشه pages صدا میکنین و htaccess رو تو روت گذاشتین.
فایل htaccess رو داخل پوشه pages بزار.

کدها رو از


RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^([^/]*)$ /index.php?text=$1 [L]

به



RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^([^/]*)$ /pages.php?text=$1 [L]

تغیر دادم توی همون روت که درست شد. بسیار ممنون دوست عزیز

ravand
سه شنبه 06 اسفند 1392, 15:42 عصر
منم یه همچین مشکلی دارم. نمیدونم مشکل از برنامه ی ومپ هست یا کدی که نوشتم.
میخواستم این خط :

http://localhost/ravand/mahsolat.php?page=3
به این خط تبدیل بشه:

http://localhost/ravand/mahsol/page/3
اینم کدش:

RewriteRule ^mahsol/page/([0-9])$ mahsolat.php?page=$1 [L,QSA]
ولی کار نکرد.

esteftaats
سه شنبه 06 اسفند 1392, 23:11 عصر
منم یه همچین مشکلی دارم. نمیدونم مشکل از برنامه ی ومپ هست یا کدی که نوشتم.
میخواستم این خط :

به این خط تبدیل بشه:

اینم کدش:

ولی کار نکرد.
پست هایی که جناب slowcode گذاشتن رو در این تاپیک بخونین و همچنین پست آخر منو. درست میشه.

ravand
چهارشنبه 07 اسفند 1392, 08:41 صبح
پست هایی که جناب slowcode گذاشتن رو در این تاپیک بخونین و همچنین پست آخر منو. درست میشه.
این مطالبی رو که گفتید انجام دادم ولی کار نکرد. شما کدهای php رو هم تغییر میدید؟

SlowCode
چهارشنبه 07 اسفند 1392, 11:32 صبح
منم یه همچین مشکلی دارم. نمیدونم مشکل از برنامه ی ومپ هست یا کدی که نوشتم.
میخواستم این خط :

به این خط تبدیل بشه:

اینم کدش:

ولی کار نکرد.

کد شما درسته! htaccess رو کنار فایل mohsoalt.php گذاشتین؟
من تست کردم درست کار کرد.

این مطالبی رو که گفتید انجام دادم ولی کار نکرد. شما کدهای php رو هم تغییر میدید؟
خیر نیازی نیست.

esteftaats
شنبه 10 اسفند 1392, 23:53 عصر
این مطالبی رو که گفتید انجام دادم ولی کار نکرد. شما کدهای php رو هم تغییر میدید؟

می بخشین یادم رفت سر بزنم اینجا.
خیر.