PDA

View Full Version : Rewrite Engine و مشکل باز کردن صفحه جدید (اورژانسی)



remove-me
دوشنبه 23 اسفند 1389, 09:53 صبح
سلام دوستان.
یک سایت php هست که باید تغییرش بدم و اینکه برای آدرس صفحات از Rewrite engine استفاده می کنه. چند صفحه جدید اضافه کردم ولی متاسفانه اجازه باز کردن صفحات رو نمی ده. فایل .htaccess رو باز کردم داخلش کد زیر رو نوشته:


RewriteEngine on
RewriteCond $1 !^(sitemap.xml|robots.txt|files|index\.php)
RewriteCond %{REQUEST_URI} !^store/.*
RewriteRule ^(.*)$ index.php/$1 [L]

داخل فایل sitemap.xml که یک سری آدرس صفحات مختلف سایت است. صفحات جدید رو اضافه کردم ولی فرقی نکرد.

خیلی اساسی مهمه. اگه لطف کنید راهنمایی کنید خیلی ممنون می شم.

رضا قربانی
دوشنبه 23 اسفند 1389, 10:20 صبح
اینجا رو یه دید بزن - احتمالا می تونی مشکلت رو پیدا کنی

http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess&p=1220621#post1220621

remove-me
دوشنبه 23 اسفند 1389, 10:39 صبح
ممنون دوست عزیز.
اما کجا آدرس ها رو نگهداری می کنه. مثلا:
http://example.com/my/index.php
با آدرس http://example.com/23 باز شه. تو asp.net معمولا این آدرس ها رو تو یک فایل xml قرار می دیم. آیا تو php همچین فایلی هست که من بتونم تغییرش بدم و آدرس های جدید رو اضافه کنم؟

رضا قربانی
دوشنبه 23 اسفند 1389, 16:05 عصر
باید یک فایل .htaccess درست کنی و دستورات رو بنویسی

این کدی که دادید در فایل htaccess هست . و اگر صفحه ای اضافه کردی باید کدش رو همین جا بهش بدی - باید ببینی واسه بقیه صفحات از چی استفاده کرده و شما هم عین همون بنویسی
RewriteEngine on
RewriteCond $1 !^(sitemap.xml|robots.txt|files|index\.php)
RewriteCond %{REQUEST_URI} !^store/.*
RewriteRule ^(.*)$ index.php/$1 [L]

alireza.stack
شنبه 28 اسفند 1389, 09:09 صبح
احتمالا سایت بالا به زبان CodeIgniter نوشته شده است.
فایل htaccess شما دوست عزیز مشکل دارد دلیلش این است که تمام فهرستهای موجود (مانند sitemap.xml) باید به sitemap\.xml تبدیل شود. چراکه نقطه ها با دستورات کد نویسی آپاچی تداخل خواهد کرد. و اما سوال شما:
گفتید که چند صفحه ایجاد کرده اید و اجرا نمی شوند، خب ابتدا اشتباهی را که به شما گفتم تصحیح کنید و سپس من بگوئید که این فایلهای شما که اجرا نمی شوند در کدام مسیر قرار دارند.
فقط لطف کنید بدون ابهام توضیح دهید تا بتوانم به نحو احسن کمکتان کنم.
دقت کن که در دستور خط دوم پوشه هایی که بیرون از index.php قابل دسترسی هستند حتما آنها را در این قسمت لیست کن وگرنه به مشکل خواهی خورد. (چون من از پوشه های شما اطلاعی ندارم!) و نقطه ها را هم با \ بنویس چون در آپاچی معنی خاص خود را دارد و باید بگوئی تا با آن بصورت کاراکتر برخورد کند نه دستورالعمل.
آموزش کامل این فایل در ماهنامه برنامه نویسی شماره 2 در سایت bugx.ir قرار داده شده است.