PDA

View Full Version : نوشته فارسی در url



beh3000
چهارشنبه 15 بهمن 1393, 21:46 عصر
سلام

من میخوام یک قسمتی از پروژه ام یک نوشته فارسی در url وجود داشته باشه شایدم انگلیسی باشه یعنی هر رو پشتیبانی کنه ( برای قسمت تگ ها میخوام ) .. آدرس باید به این شکل باشه


http://localhost/project/controller/tag/رئال مادرید

یا

http://localhost/project/controller/tag/real-madrid

هر دو این آدرس ها رو پشتیبانی کنه ( توی url manager ) چطوری باید معرفی کنم ؟

qartalonline
چهارشنبه 15 بهمن 1393, 22:16 عصر
'controller/tag/<tag:[\-\w]+>' => 'controller/tag',

MMSHFE
پنج شنبه 16 بهمن 1393, 09:04 صبح
RegExp فارسی رو هم شناسایی میکنه. مثال:

'controller/tag/<tag:[\wآابپتثجچحخدذرزژسشصضطظعغف قکگلمنوهی]+>' => 'controller/tag',

beh3000
پنج شنبه 30 بهمن 1393, 10:45 صبح
سلام معذرت میخوام که جواب به ابن تاپیکی که ایجاد کرده بودم دیر شد ... استاد این چیزی که شما نوشتین جواب نمیده برای من !! خطای the request URL was not fount on the server میده همش

حتی یک کاراکتر فارسی هم که میزنم همینه


'weblog/tag/<blogname:\w+>/<tg:[\wآابپتثجچحخدذرزژسشصضطظعغف قکگلمنوهی]+>'=>'weblog/tag',


این رو هم برای تست انجام دادم


'weblog/tag/<blogname:\w+>/<tg:کلیک>'=>'weblog/tag',


و آدرس زیر رو در آدرس بار نوشتم بازم همین خطا رو میده

http://localhost/online/weblog/tag/blogname/کلیک (http://localhost/online/weblog/tag/blogname/%DA%A9%D9%84%DB%8C%DA%A9)


فک میکنم یک جای دیگه ای هم باید تعریف کنم که کاراکترهای فارسی در url مجاز هستند

MMSHFE
پنج شنبه 30 بهمن 1393, 11:08 صبح
این لینک رو ببینید (مال سایت نهاد هست که برنامه اش رو نوشته بودم) :
http://www.i-nahad.ir/i-Experts/ح
این هم rule که براش نوشته بودم:

'i-Experts/<start:[ابپتثجچحخدذرزژسشصضطظعغفقک گلمنوهی]>' => 'users/index',

MMSHFE
پنج شنبه 30 بهمن 1393, 11:10 صبح
سلام معذرت میخوام که جواب به ابن تاپیکی که ایجاد کرده بودم دیر شد ... استاد این چیزی که شما نوشتین جواب نمیده برای من !! خطای the request URL was not fount on the server میده همش

حتی یک کاراکتر فارسی هم که میزنم همینه


'weblog/tag/<blogname:\w+>/<tg:[\wآابپتثجچحخدذرزژسشصضطظعغف قکگلمنوهی]+>'=>'weblog/tag',


این رو هم برای تست انجام دادم


'weblog/tag/<blogname:\w+>/<tg:کلیک>'=>'weblog/tag',


و آدرس زیر رو در آدرس بار نوشتم بازم همین خطا رو میده

http://localhost/online/weblog/tag/blogname/کلیک (http://localhost/online/weblog/tag/blogname/%DA%A9%D9%84%DB%8C%DA%A9)


فک میکنم یک جای دیگه ای هم باید تعریف کنم که کاراکترهای فارسی در url مجاز هستند

خوب دوست عزیز شما tg نوشتین نه tag. متغیرتون توی متد اکشن tag$ هست یا tg$ ؟

beh3000
پنج شنبه 30 بهمن 1393, 11:14 صبح
نمیدونم چیکار کنم مال من کار نمیکنه ؟ .... نکنه توی لوکال کار نمیکنه ؟ توی آپاچی که تنظیماتی نداره ؟ .... کلافه شدم استاد کمکم کنید

اون فقط اسم متغیره درسته همون tg

beh3000
پنج شنبه 30 بهمن 1393, 11:29 صبح
استاد فک یک جای مشکل باشه ... چون وقتی که در پارامترهای url با عبارت باقاعده هم خوانی نداشته باشن خطای 404 میده ( site/error ) .... ولی مال من
the request URL was not fount on the server

مشکل جای دیگست

الان به این شکل گذاشتم

'weblog/tag/<blogname:[\w-]+>/<tg:[abc]>'=>'weblog/tag',

یعنی حروف abc مجاز هستند وقتی حروف انگلیسی خارج از محدوده مجاز به عنوان پارامتر میفرستم خطای 404 میده ولی وقتی فارسی میفرستم the request URL ..... میده

beh3000
پنج شنبه 30 بهمن 1393, 12:59 عصر
الان مطمئنم به آپاچی مربوطه ولی نمیدونم کجاش کدهای زیر رو توی htaccess هم گذاشتم ولی کار نکرد

AddDefaultCharset On
AddDefaultCharset UTF-8

توی httpd.conf هم گذاشتم اما کار نکرد

beh3000
پنج شنبه 30 بهمن 1393, 13:13 عصر
درست شد میگم که بقیه دوستان لنگ نمونن

توی پوشه پروژتون فایل htaccess وجود داره که توی اون خط زیر هست

RewriteRule ^([A-Za-z0-9_/.-]+)$ index.php?$1

این خط رو تغییر بدین به این



RewriteRule ^([A-Za-z0-9_/.-آابپتثجچحخدذرزژشسصضطظعغفق ک گلمنوهیءيئ]+)$ index.php?$1

MMSHFE
پنج شنبه 30 بهمن 1393, 14:53 عصر
بهتره اینطوری بنویسید:

RewriteRule . index.php [L,NC,QSA]
برای همین بود که روی سیستم من کار میکرد. کدهاتون رو طبق آموزش بسازین.