PDA

View Full Version : سوال: کمک درباره RewriteRule در .htaccess



moontoise
جمعه 25 دی 1388, 11:28 صبح
سلام
ببخشید, من می خوام از دست این query و این علامت سوال و... راحت بشم...
تصمیم گرفتم از .htaccess استفاده کنم...
حالا من یه مشکل دارم...
مثلا Get ها در query من بصورت نورمال این شکلی هست:

www.domain.com/index.php?A=XXX&B=YYY&C=ZZZZ...
حالا می خوام با .htaccess یه جوری این رو به این شکل در بیارم:

www.domain.com/XXX?B=YYY&C=ZZZ...
من یه چیزایی تو نت پیدا کردم, اما همشون اینطوری کار می کردن:

www.domain.com/XXX/YYY/ZZZZ

حالا خواهش می کنم کمکم کنید, ممنون...

nextplus
جمعه 25 دی 1388, 12:14 عصر
اين كاري كه شما ميخواهي انجام بدي عملا دوباره با query string ميشه و زياد جالب نيست

اما به هر صورت جوابش اين ميشه



Options +FollowSymlinks
RewriteEngine on
RewriteRule XXX?^(.*) index.php?A=XXX&$1 [nc]

nextplus
جمعه 25 دی 1388, 12:58 عصر
البته اگه بخوای قسمت XXX هم متغیر باشه باید کدتو بصورت زیر بنویسی



RewriteRule ^(.*)?^(.*) index.php?A=$1&$2 [nc]

moontoise
جمعه 25 دی 1388, 13:57 عصر
خیلی ممنون از راهنماییت...
اما یه مشکل...
من کد رو به اینصورت استفاده کردم:

<IfModule mod_rewrite.c>

Options +FollowSymlinks
RewriteEngine on
RewriteRule main?^(.*) index.php?group=main&$1 [nc]


</IfModule>
بعد این آدرس رو درخواست کردم:

http://127.0.0.1/PORTAL/main?A=XXXاما مشکل زیر پیش اومد:


Not Found

The requested URL /PORTAL/main was not found on this server.
Apache/1.3.33 Server at 127.0.0.1 Port 80


حالا چی کار باید کنم؟ ممنون....

moontoise
جمعه 25 دی 1388, 15:29 عصر
ببخشید, ارسال پیام خصوصی من غیر فعاله...
جوابتون رو اینجا می دم:
من کد رو درست استفاده کردم...
حتی وقتی کد رو به اینصورت استفاده می کنم:

RewriteRule ^(.*)?^(.*) index.php?group=$1&$2 [nc]
بازم اخطار می ده...
نمیدونم چرا اینطوری می شه.....

nextplus
جمعه 25 دی 1388, 16:49 عصر
دوست عزیز از این روش هم میتونی استفاده کنی که قبل از تعریف نام جدید یکسری مقادیر پیش فرض هم براش در نظر بگیری .




RewriteEngine on
RewriteRule ^main main?group=main [QSA]
RewriteRule ^main index.php [nc]
مطمئنا این مشکلت رو حل میکنه.