توی ریرایت مد کدوم یکی از این دو کد از نظر دستوری درسته؟
کد یک:
RewriteCond %{REQUEST_URI} !^images/
RewriteRule ^([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)$ index.php?controller=$1&action=$2 [NC,L]
RewriteCond %{REQUEST_URI} !^images/
RewriteRule ^([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)$ index.php?controller=$1&action=$2¶m1=$3 [NC,L]
کد دو:
RewriteCond %{REQUEST_URI} !^images/
RewriteRule ^([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)$ index.php?controller=$1&action=$2 [NC,L]
RewriteRule ^([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)$ index.php?controller=$1&action=$2¶m1=$3 [NC,L]
نقل قول: توی ریرایت مد کدوم یکی از این دو کد از نظر دستوری درسته؟
فکر میکنم دومی درست باشه چون شرط هر دو عبارت یکی هست و طبیعتاً یکبار شرط رو مینویسیم و اگه شرط برقرار بود، Rule اول بررسی میشه و اگه صحیح بود، بخاطر L دیگه دومی پردازش نمیشه و اگه نبود، دومی اجرا میشه. موفق باشید.
نقل قول: توی ریرایت مد کدوم یکی از این دو کد از نظر دستوری درسته؟
نقل قول:
فکر میکنم دومی درست باشه چون شرط هر دو عبارت یکی هست و طبیعتاً یکبار شرط رو مینویسیم و اگه شرط برقرار بود، Rule اول بررسی میشه و اگه صحیح بود، بخاطر L دیگه دومی پردازش نمیشه و اگه نبود، دومی اجرا میشه. موفق باشید.
الان کد اول و کد دوم ارور به درستی اجرا نمی شن. بنظرتون مشکل چیه؟
ولی اگر دستور رو به صورت زیر بنویسم کد ها ارور می دن. یعنی اگر Rule دوم رو حذف کنم بدون مشکل اجرا می شن.
RewriteCond %{REQUEST_URI} !^images/
RewriteRule ^([a-zA-Z0-9\._\-]+)/([a-zA-Z0-9\._\-]+)$ index.php?controller=$1&action=$2 [NC,L]