বন্ধুত্বপূর্ণ url এর জন্য নিরাপদ অক্ষর [বন্ধ]


168

আমার একটি ওয়েবসাইট তৈরি করতে হবে যাতে নিবন্ধ থাকবে এবং আমি এর জন্য বন্ধুত্বপূর্ণ ইউআরএল তৈরি করতে চাই, উদাহরণ সহ পৃষ্ঠার ইউআরএল

শিরোনাম: নিবন্ধ পরীক্ষা

হওয়া উচিত: http://www.example.com/articles/article_test

অবশ্যই আমার মতো ?বা শিরোনাম থেকে কিছু অক্ষর সরিয়ে ফেলতে হবে #তবে কোনটি মুছে ফেলতে হবে তা আমি নিশ্চিত নই।

কেউ কি আমাকে বলতে পারবেন কোন চরিত্রগুলি রাখা নিরাপদ?


এখানেও একই রকম প্রশ্ন ছিল । এটি পরীক্ষা করে দেখুন, আপনি সেখানে কিছু দরকারী উত্তরও পেতে পারেন (সেগুলির বেশ কয়েকটি ছিল)।
রুক

উত্তর:


210

আরএফসি 3986 এর ২.৩ ধারাটি উদ্ধৃত করতে :

"একটি ইউআরআই-তে অনুমোদিত তবে সংরক্ষিত উদ্দেশ্য না থাকা অক্ষরগুলিকে অরক্ষিত বলা হয় These এর মধ্যে বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর, দশমিক সংখ্যা, হাইফেন, সময়কাল, আন্ডারস্কোর এবং টিলড অন্তর্ভুক্ত রয়েছে।"

ALPHA  DIGIT  "-" / "." / "_" / "~"

নোট করুন যে আরএফসি 3986 পুরানো আরএফসি 2396 এর চেয়ে কম সংরক্ষিত বিরামচিহ্নগুলি তালিকাবদ্ধ করে ।


@Skip হেড, নেই "অক্ষর" মত ল্যাটিন এনকোডেড অক্ষরগুলি অন্তর্ভুক্ত çএবং õ?
মোহামাদ

6
@ মোহামাদ: না, কেবল এএসসিআইআই, যদিও ইউটিএফ -8 সমর্থন আরও ভাল হচ্ছে।
ডায়েটরিচ এপ্প

@ ডায়েটারিচ এপ্প, আপনাকে ধন্যবাদ আমার ধারণা ইউআরএলটি প্রসাধন এবং এসইও উদ্দেশ্যে, যেমন: www.mysite.com/mittedpostId/post-title-with-ç-and-õ- এর জন্য এটি বিবেচনা করা উচিত নয়
মোহাম্মাদ

1
@ মোহমাদ: শেষ অংশটি হুডের নীচে পরিবর্তিত post-title-with-%C3%A7-and-%C3%B5হবে তবে এটি এখনও ব্যবহারকারীর অবস্থান বারে প্রদর্শিত হবে post-title-with-ç-and-õ
ডায়েটারিচ এপ্প

7
আপনার পাঠকরা পর্তুগিজ, সুতরাং পর্তুগিজ অক্ষর ব্যবহার করুন।
ডায়েরিচ এপ্প

107

অক্ষর দুটি সেট আপনার জন্য নজর রাখা প্রয়োজন: সংরক্ষিত এবং অনিরাপদ

সংরক্ষিত অক্ষর আছেন:

  • অ্যাম্পারস্যান্ড ("&")
  • ডলার ("$")
  • যোগ চিহ্ন ("+")
  • কমা (",")
  • ফরোয়ার্ড স্ল্যাশ ("/")
  • কোলন (":")
  • আধা-কোলন (";")
  • সমান ("=")
  • প্রশ্নবোধক ("?")
  • 'এট' চিহ্ন ("@")
  • পাউন্ড ("#")।

অক্ষরগুলি সাধারণত অনিরাপদ হিসাবে বিবেচিত :

  • স্পেস ("")
  • ("<>") এর চেয়ে কম এবং বৃহত্তর
  • বন্ধ এবং বন্ধ বন্ধনী ("[]")
  • খোলা এবং বন্ধ বন্ধনী ("{}")
  • পাইপ ("|")
  • ব্যাকস্ল্যাশ ("\")
  • ক্যারেট ("^")
  • শতাংশ ("%")

আমি হয়ত এক বা একাধিকটি ভুলে গেছি, যা কার্ল ভি এর উত্তর প্রতিধ্বনিত করে। দীর্ঘমেয়াদে আপনি সম্ভবত অনুমোদিত অক্ষরের একটি "সাদা তালিকা" ব্যবহার এবং তারপরে সার্ভার এবং সিস্টেমগুলি দ্বারা অনুমোদিত নয় এমন অক্ষরগুলির সমপরিমাণ থাকার চেষ্টা করার চেয়ে স্ট্রিংটিকে এনকোড করা থেকে ভাল।


#একটি নির্দিষ্ট পৃষ্ঠায় বুকমার্কগুলির জন্য ব্যবহৃত একটি সংরক্ষিত অক্ষর, যা একটি মিলের নাম-গুণ বা আইডি-গুণাবলী (স্যানস- #সিম্বল) সহ একটি এইচটিএমএল উপাদান তৈরি করে তৈরি করা হয় ।
TheLonelyGhost

ধন্যবাদ - আমি উত্তর আপডেট করেছি।
গ্যারি.রে

প্রশ্ন চিহ্নটি এখানে সংরক্ষিত এবং অনিরাপদ উভয় হিসাবে দেখানো হয়েছে - আমি এটিকে কেবল সংরক্ষিত হিসাবে মনে করি তবে আমি ভুল হতে পারি
জোনাথন

6
অন্যরা মনে হয় যে টিল্ডটি ~অনিরাপদ। আপনি কি তা নিশ্চিত?
ডিআরএস

3
শ্বেতলিস্ট এত ভাল না যদি ইংরেজি ব্যতীত অন্য ভাষাগুলি পরিচালনা করে। ইউনিকোডে কেবলমাত্র অনেকগুলি ওকে কোড পয়েন্ট রয়েছে। সুতরাং, অনিরাপদগুলিকে কালো তালিকাভুক্ত করা নিয়মিত প্রকাশের ক্ষেত্রে কার্যকর করা সবচেয়ে সহজ বলে মনে করা হচ্ছে।
পতঞ্জলি

41

আপনি নির্দিষ্ট কিছু অক্ষর (ব্ল্যাকলিস্ট) অপসারণের পরিবর্তে কেবল কয়েকটি অক্ষর (শ্বেত তালিকা) রাখছেন।

আপনি যেকোন অক্ষরকে প্রযুক্তিগতভাবে অনুমতি দিতে পারবেন, যতক্ষণ আপনি এটি সঠিকভাবে এনকোড করেছেন। তবে প্রশ্নের উত্তরে উত্তর দেওয়ার জন্য আপনার কেবল এই চরিত্রগুলিকেই অনুমতি দেওয়া উচিত:

  1. লোয়ার কেস লেটারস (বড় হাতের অক্ষরে রূপান্তর করুন)
  2. সংখ্যা, 0 থেকে 9
  3. একটি ড্যাশ - বা আন্ডারস্কোর _
  4. টিলডে ~

অন্য সমস্ত কিছুর একটি সম্ভাব্য বিশেষ অর্থ রয়েছে। উদাহরণস্বরূপ, আপনি ভাবতে পারেন আপনি + ব্যবহার করতে পারেন তবে এটি একটি স্থান দিয়ে প্রতিস্থাপন করা যেতে পারে। এবং বিপজ্জনকও, বিশেষত যদি কিছু পুনর্লিখনের নিয়ম ব্যবহার করা হয়।

অন্যান্য মন্তব্যগুলির মতো, সম্পূর্ণ বিশদটির জন্য মান এবং স্পেসিফিকেশন পরীক্ষা করে দেখুন।


15
একটি যুগ, যা আমি আজ আবিষ্কার করেছি, ইউআরএল-নিরাপদ বেস 64 এনকোডারটির জন্য ব্যবহারের জন্য চরিত্রের একটি খারাপ পছন্দ, কারণ সেখানে এমন বিরল ঘটনা ঘটবে যেখানে আপনার এনকোডড ডেটা পরপর দুটি বিন্দু ("..") তৈরি করতে পারে যা এতে উল্লেখযোগ্য এটি প্যারেন্ট ডিরেক্টরিকে বোঝায়।
পোহল

5
@ পোহল: আপনার কোডটিতে অথবা আপনার ওয়েব সার্ভার যদি কোনও স্ক্রিপ্টে অনুরোধটি ফরোয়ার্ড দেওয়ার আগে ফাইলগুলিতে URL টি ম্যাপ করার চেষ্টা করে তবে এটি কেবলমাত্র সমস্যা problem
আন্দ্রে কারন

4
প্রকৃতপক্ষে, আমাদের ক্ষেত্রে এটি ফাইলের পথ হিসাবে ব্যবহার করা ঠিক হবে, কারণ ইউনিক্সে ফাইলগুলির নামে একাধিক এবং একটানা, বিন্দু থাকার অনুমতি রয়েছে। আমাদের জন্য, সমস্যাটি সাইট স্কোপ নামে একটি পর্যবেক্ষণ সরঞ্জামে উত্থিত হয়েছিল যার একটি বাগ রয়েছে (সম্ভবত একটি নিষ্পাপ রেজেক্স) এবং এটি উত্সাহিত মিথ্যা ডাউনটাইমগুলি প্রতিবেদন করছিল। আমাদের জন্য, আমরা সাইট স্কোপের একটি পুরানো সংস্করণে আটকে আছি, অ্যাডমিন টিম একটি আপগ্রেডের জন্য অর্থ প্রদান করতে অস্বীকার করেছে, এবং একটি অত্যন্ত গুরুত্বপূর্ণ ক্লায়েন্টের কাছে তাদের চুক্তিতে সাইট স্কোপ (সমতুল্য নয়) লিখিত রয়েছে। স্বীকার করা, বেশিরভাগই আমার জুতাগুলিতে নিজেকে খুঁজে পাবে না।
পোহল

8
Godশ্বরের ধন্যবাদ যে কেউ খুব বেশি বকবক না করে একটি তালিকা পোস্ট করেছে। যেমন বিন্দু (।) - হিসাবে @ পোহেল বলেছেন, এটি ব্যবহার করবেন না! এখানে আইআইএস-এর আরও একটি অদ্ভুত ঘটনা রয়েছে (এটি অন্য ওয়েব সার্ভারগুলিতে ঘটে কিনা তা জানেন না): এটি যদি আপনার URL এর শেষে হয় তবে আপনি সম্ভবত 404 ত্রুটি পাবেন (এটি [/ পৃষ্ঠাটির নাম] অনুসন্ধানের চেষ্টা করবে] । পৃষ্ঠা)
নিকিব 3ro

34

সর্বদা নিরাপদ

এগুলি নিরাপদে (থিয়োরি / স্পেসে), ডোমেন নাম বাদে মূলত যে কোনও জায়গায়।
তালিকাভুক্ত নয় এমন কিছু শতাংশ-এনকোড, এবং আপনি যেতে ভাল।

    A-Z a-z 0-9 - . _ ~ ( ) ' ! * : @ , ;

কখনও কখনও নিরাপদ

নির্দিষ্ট ইউআরএল উপাদানগুলির মধ্যে কেবল তখনই নিরাপদ; যত্ন সহ ব্যবহার করুন।

    Paths:     + & =
    Queries:   ? /
    Fragments: ? / # + & =
    

কখনই নিরাপদ নয়

ইউআরআই স্পেক (আরএফসি 3986) অনুসারে, অন্যান্য সমস্ত অক্ষর অবশ্যই শতাংশ-এনকোড হওয়া উচিত। এটা অন্তর্ভুক্ত:

    <space> <control-characters> <extended-ascii> <unicode>
    % < > [ ] { } | \ ^
    

সর্বাধিক সামঞ্জস্যতা যদি উদ্বেগের বিষয় থাকে তবে চরসেটটি এজেড এজেড 0-9 - _ এ সীমাবদ্ধ করুন।
(শুধুমাত্র ফাইলের নাম এক্সটেনশনের জন্য পিরিয়ড সহ)।

প্রসঙ্গটি মনে রাখুন

এমনকি প্রতি অনুমান অনুসারে বৈধ, একটি URL এখনও প্রসঙ্গের উপর নির্ভর করে "অনিরাপদ" হতে পারে। যেমন একটি ফাইল: /// ইউআরএল অবৈধ ফাইল নাম অক্ষর সমন্বিত, বা যখন "?", "=", এবং "&" রয়েছে এমন একটি কোয়েরি উপাদান যখন ডিলিমেটার হিসাবে ব্যবহার না করা হয়। এই ক্ষেত্রেগুলি সঠিকভাবে পরিচালনা করা আপনার স্ক্রিপ্টগুলির মধ্যে নির্ভর করে এবং এর চারপাশে কাজ করা যেতে পারে তবে এটি মনে রাখা দরকার to


আপনি কি আপনার দ্বিতীয় দাবির জন্য কোনও উত্স সরবরাহ করতে পারেন ("কখনও কখনও নিরাপদ")? বিশেষত, আমি বিশ্বাস করি যে আপনি ভুল করে বলেছেন যা =প্রশ্নের পক্ষে নিরাপদ নয়। উদাহরণস্বরূপ, এফআইকিউএল সমান চিহ্নগুলি গ্রহণ করে এবং নিজেকে "ইউআরআই-বান্ধব" এবং " কোরিয়ার উপাদানটিতে ব্যবহারের জন্য অনুকূলিত এবং উদ্দেশ্যে" বলে বর্ণনা করে। আমার ব্যাখ্যায়, আরএফসি 3986 স্পষ্টভাবে "=", "&", "+" এবং অন্যান্যদের প্রশ্নের মধ্যে অনুমতি দেয়।
ড্যানিয়েলএম

@ ড্যানিয়েলএম "?", "=" এবং "&" স্পষ্টভাবে প্রতি প্রশ্নের ক্ষেত্রে বৈধ, যদিও বাস্তবে তারা কোয়েরির মধ্যে নাম-মান জুটি পার্স করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। সুতরাং তারা নিজেরাই নামের / মানগুলির অংশ হিসাবে অনিরাপদ হতে পারে। এটি "অনিরাপদ" গঠন করে কিনা তা মতের বিষয় হতে পারে।
বিওজর

কিছু উত্স, অনুরোধ হিসাবে। (1) আরএফসি 3986, সেক 3.4: "[...] ক্যোয়ারী উপাদানগুলি প্রায়শই 'কী = মান' জোড়গুলির আকারে সনাক্তকারী তথ্য বহন করতে ব্যবহৃত হয় [...]" (২) হোয়াটাব্লু জিআরএল ইউআরএল স্পেস, সেক। .2.২: "URLS SearchParams অবজেক্টটি তৈরি এবং স্ট্রিংফাই করা মোটামুটি সোজা: [...] params.toString() // "key=730d67"" (3) পিএইচপি ম্যানুয়াল, HT-build- ক্যোয়ারী: "URL- এনকোডযুক্ত ক্যোরিয় স্ট্রিং উত্পন্ন করুন। [...] উপরের উদাহরণটি আউটপুট দেবে: 0=foo&1=bar[...]"(4) জে স্টার, পেনেশেবল প্রেস:" ওয়েব পৃষ্ঠাগুলি তৈরি করার সময়, প্রায়শই এমন লিঙ্কগুলি যুক্ত করা প্রয়োজন যা প্যারামিটারাইজড কোয়েরি স্ট্রিংগুলির প্রয়োজন require "
বিজোর

@ বিজোর: আমি একটি ইউআরএল তৈরি করছি এবং আমি '-' এবং 'ব্যবহার করি; নির্মাণের সময়। এটি কোনও ওয়েব অ্যাপ নয়, একটি মোবাইল অ্যাপ। কোনও ওয়েব বিকাশকারী নয় এবং তাই, আমি যদি সম্পত্তি সংস্থার উপরের দুটি অক্ষর ব্যবহার করি তবে আমি নিরাপদ থাকব? ডকস.মাইক্রোসফট.ইন- ইউএস
ডটনেট /

1
@ কারস্নেন এগুলি বৈধ ইউআরএল অক্ষর। স্থানীয় ফাইল সিস্টেমে পাথগুলি উল্লেখ করার জন্য ব্যবহার করা হলেও, মনে রাখবেন যে কিছু সিস্টেম ফাইলের নামগুলিতে নির্দিষ্ট অক্ষরগুলি অস্বীকার করে। উদাহরণস্বরূপ, "ফাইল: /// পাথ / থেকে / আমার: file.ext" ম্যাকের ক্ষেত্রে অবৈধ।
বিউজর

17

আরএফসি 3986 - ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (ইউআরআই): জেনেরিক সিনট্যাক্সের দিকে তাকালে আপনার প্রশ্নটি কোনও ইউআরআইয়ের পাথ উপাদানটির চারদিকে ঘোরে ।

    foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment
      |   _____________________|__
     / \ /                        \
     urn:example:animal:ferret:nose

বিভাগ 3.3 উদ্ধৃত করে, একটি ইউআরআইয়ের জন্য বৈধ অক্ষরগুলি segmentপ্রকার pchar:

pchar = অনারक्षित / pct-encoded / উপ-ডিলিম / ":" / "@"

যা ভেঙে:

ALPHA / DIGIT / "-" / "." / "_" / "~"

pct-encoded

"!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

":" / "@"

অথবা অন্য কথায়: আপনার কাছ থেকে কোনো (অ-নিয়ন্ত্রণ-) চরিত্র ব্যবহার করতে পারেন ASCII টেবিল , ছাড়া / , ?, #, [এবং ]

এই বোঝাপড়াটি RFC1738 - ইউনিফর্ম রিসোর্স লোকেটর (ইউআরএল) দ্বারা সমর্থনযোগ্য


2
এটি একটি তাত্ত্বিকভাবে সঠিক উত্তরের একটি দুর্দান্ত উদাহরণ, যা আমরা বাস্তবে বাস করি এমন সত্যিকারের জগতে প্রয়োগ করার সময় সমস্যার দিকে পরিচালিত করে It এটি সত্য যে এই চরিত্রগুলির বেশিরভাগ সময়ই সমস্যার কারণ হবে না। প্রক্সি, রাউটারস, গেটওয়েস, রিলে ইত্যাদির মতো বাস্তব বিশ্বের জিনিসগুলির মধ্যে রয়েছে, যা তাত্ত্বিক মানকে অবজ্ঞা করে এমন কোনওভাবে ইউআরএল পরিদর্শন ও ইন্টারঅ্যাক্ট করতে "প্রেম" করে। এই ক্ষতিগুলি এড়ানোর জন্য, আপনি বর্ণমালা, ড্যাশ, আন্ডারস্কোর এবং সময়কাল বাদে সমস্ত কিছু থেকে পালিয়ে যাওয়ার মধ্যে সীমাবদ্ধ।
deltamind106

1
@ ডেল্টামাইন্ড 106 আপনি কি আরএফসি অনুসারে সুরক্ষিত কোন চরিত্রটি বাস্তবে না তা স্পষ্ট করে উদাহরণ এবং / অথবা উল্লেখ সরবরাহ করতে পারেন? আমি আমার উত্তরে মান দ্বারা সমর্থিত তথ্যগুলিকে আঁকতে পছন্দ করব এবং আমি অবহেলা করতে পারে এমন কোনও তথ্য যদি আপনি চিহ্নিত করতে পারেন তবে আমার উত্তর আপডেট করতে পেরে আমি আনন্দিত।
ফিলজেন

2
@ ডেল্টামাইন্ড 106 আমি পরামর্শ দেব যে আমরা পণ্যগুলি মান না করার পরিবর্তে মানগুলি অনুসরণ করার চেষ্টা করব। আমি আপনার সতর্কতাটিকে যোগ্য বলে বিবেচনা করি, তবে প্রয়োজনে বিক্রেতাদের অ-সম্মতি জানাতে আমাদের অংশটি করা উচিত।
লো-ট্যান

@ ফিলজেন: আমি একটি ইউআরএল তৈরি করছি এবং আমি '-' এবং 'ব্যবহার করি; নির্মাণের সময়। এটি কোনও ওয়েব অ্যাপ নয়, একটি মোবাইল অ্যাপ। কোনও ওয়েব বিকাশকারী নয় এবং তাই, আমি যদি সম্পত্তি সংস্থার উপরের দুটি অক্ষর ব্যবহার করি তবে আমি নিরাপদ থাকব? ডকস.মাইক্রোসফট.ইন- ইউএস
ডটনেট /

1
@ কার্সেনেন হ্যাঁ অবশ্যই -এবং ;নিরাপদ, এটাই আমার উত্তর এবং আরএফসি স্পষ্টভাবে জানিয়েছে।
ফিলজেন

12

অরক্ষিত = ALPHA / DIGIT / "-" / "। / "_" / "~"


3
"আলফা" "ডিজিট" বোঝায় না? আমি ধরে নিয়েছি ALPHA "আলফানিউমারিক" এর জন্য সংক্ষিপ্ত এবং আলফানুমিকের অর্থ বড় হাতের অক্ষর, ছোট হাতের এবং অঙ্কগুলি।
লুক

11
আসলে আলফা বর্ণমালা বোঝায় না। আলফা এবং সংখ্যাসূচক দুটি পৃথক জিনিস এবং আলফানিউমেরিক হ'ল এই জিনিসগুলির সংমিশ্রণ। তিনি তার উত্তরটি এভাবে লিখতে পারতেন: ALPHANUMERIC / "-" / "।" / "_" / "~"
ম্যাক্রোম্যান

1
আরএফসি 3986-এ 'অনারক্ষিত' জন্য এবিএনএফ স্বীকৃতি তাদের আলাদাভাবে তালিকাবদ্ধ করে।
পতঞ্জলি

11

আপনি যে প্রসঙ্গে বর্ণনা করেছেন তা থেকে আমার সন্দেহ হয় যে আপনি আসলে যা তৈরি করার চেষ্টা করছেন সেটি একটি 'এসইও স্লাগ' বলে। তাদের জন্য সর্বোত্তম সাধারণ অনুশীলন হ'ল:

  1. লোয়ার-কেস-এ রূপান্তর করুন
  2. আজ এবং 0-9 ব্যতীত অন্যান্য অক্ষরের সম্পূর্ণ ক্রমগুলি একটি হাইফেন (-) এ রূপান্তর করুন (আন্ডারস্কোর নয়)
  3. ইউআরএল থেকে 'থামানো শব্দগুলি' সরান, অর্থাত্ 'ক', 'এ', এবং 'দ্য' এর মতো অর্থ-অর্থসূচক নয় index গুগল বিস্তৃত তালিকার জন্য 'স্টপ শব্দ'

সুতরাং, উদাহরণস্বরূপ, "কমিক্সের শপথ গ্রহণের জন্য" @% $ * এর ব্যবহারের শিরোনাম "শীর্ষক একটি নিবন্ধ" ব্যবহার-প্রতিনিধিত্ব-শপথ গ্রহণ-কমিকস "পেতে পারে।


ইউআরএল থেকে এই "স্টপ শব্দগুলি" সরিয়ে ফেলা কি সত্যিই ভাল পদ্ধতি? অনুসন্ধান ইঞ্জিনগুলি কি কোনও ওয়েবসাইটকে শাস্তি দেবে?
পাওলো

অনুসন্ধান ইঞ্জিনগুলি সাধারণত ইউআরএল এর কিছু অংশ স্বীকৃতি দেয় এবং / অথবা পরবর্তী অংশগুলিকে হ্রাস করে তাত্পর্য দেয় বলে বিশ্বাস করা হয়, সুতরাং আপনি যা করছেন তা থামিয়ে শব্দগুলি সরিয়ে আপনি আপনার ইউআরএলটিতে এম্বেড থাকা কীওয়ার্ডের সংখ্যা বাড়িয়ে তোলেন যা আপনার সুযোগ রয়েছে আসলে র‌্যাঙ্কিংয়ের উপর।
বিশৃঙ্খলা

1
@ চাওস আপনি কী এখনও স্টপওয়ার্ডকে সরিয়ে দেওয়ার পরামর্শ দিচ্ছেন, যদি আপনি এটি বিবেচনা করেন: seobythesea.com/2008/08/google-stopword-patent এছাড়াও, আপনি স্টপওয়ার্ডের একটি ভাল তালিকা সুপারিশ করতে পারেন? এটি আমি এখনও অবধি
nikib3ro

@ kape123 এটি আমার কাছে খুব ভাল তালিকার মতো লাগে না। "সি" এবং "ডি" প্রোগ্রামিং ল্যাঙ্গুয়েজ, এবং এই অন্যান্য শব্দগুলির অনেকগুলিও তাৎপর্যপূর্ণ দেখায়। আমি সম্ভবত কেবলমাত্র বেসিকগুলি ছিনিয়ে ফেলতাম: ক, এবং, সাথে, এর, বা, এর সাথে।
এমপেন

6

কোনও ইউআরআইয়ের ফর্ম্যাটটি আরএফসি 3986 - সংজ্ঞায়িত করা হয়েছে । বিস্তারিত জানার জন্য বিভাগ 3.3 দেখুন।


6

এসইও দৃষ্টিকোণ থেকে হাইফেনগুলি আন্ডারস্কোরগুলির চেয়ে বেশি পছন্দ করা হয়। ছোট হাতের অক্ষরে রূপান্তর করুন, সমস্ত অ্যাডাস্ট্রোফেস সরিয়ে ফেলুন, তারপরে অক্ষরের সমস্ত অ-অক্ষরীয় স্ট্রিংগুলি একটি একক হাইফেন দ্বারা প্রতিস্থাপন করুন। শুরু এবং শেষের বাইরে অতিরিক্ত হাইফেনগুলি ছাঁটাই।


3

আমারও একই সমস্যা ছিল, আমি বেশ সুন্দর ইউআরএল করতে চেয়েছি এবং এই সিদ্ধান্তে পৌঁছেছি যে আমাকে কেবলমাত্র ইউআরএলগুলিতে চিঠি, সংখ্যা এবং _ অনুমতি দিতে হবে। এটি ঠিক আছে, তারপরে আমি কিছু সুন্দর রেইগেক্স লিখেছিলাম এবং আমি বুঝতে পেরেছিলাম যে এটি সমস্ত ইউটিএফ 8 অক্ষর NET- এ অক্ষর নয় recogn এটি নেট নেটজেক্স ইঞ্জিনের জন্য জেনে রাখা সমস্যা বলে মনে হচ্ছে। সুতরাং আমি এই সমাধানটি পেয়েছি:

private static string GetTitleForUrlDisplay(string title)
{
    if (!string.IsNullOrEmpty(title))
    {
        return Regex.Replace(Regex.Replace(title, @"[^A-Za-z0-9_-]", new MatchEvaluator(CharacterTester)).Replace(' ', '-').TrimStart('-').TrimEnd('-'), "[-]+", "-").ToLower();
    }
    return string.Empty;
}


/// <summary>
/// All characters that do not match the patter, will get to this method, i.e. useful for unicode chars, because
/// .NET impl of regext do not handle unicode chars. So we use char.IsLetterOrDigit() which works nicely and we 
/// return what we approve and return - for everything else.
/// </summary>
/// <param name="m"></param>
/// <returns></returns>
private static string CharacterTester(Match m)
{
    string x = m.ToString();
    if (x.Length > 0 && char.IsLetterOrDigit(x[0]))
    {
        return x.ToLower();
    }
    else
    {
        return "-";
    }
}

3
.NET রেজিজেসগুলি আসলে ইউনিকোডকে বেশ ভাল সমর্থন করে। আপনাকে সমস্ত অক্ষরের জন্য ইউনিকোড চরিত্রের ক্লাস যেমন \ p {L use ব্যবহার করতে হবে। দেখুন msdn.microsoft.com/en-us/library/20bw873z.aspx#CategoryOrBlock
TheCycoONE

1

আমি আমার ইউআরএলটিকে নিরাপদ স্থানে এনকোড করা খুব দরকারী বলে মনে করি যখন আমি এজাক্স / পিএইচপি এর মাধ্যমে কোনও ইউআরএল দিয়ে যা আবার পৃষ্ঠাটি পড়ে আবার পড়তে হয়েছিল returning

বিশেষ অক্ষরের জন্য url এনকোডার সহ পিএইচপি আউটপুট

//PHP returning the sucess info of ajax request
echo "".str_replace('&','%26',$_POST['name'])." category was changed";

//javascript sending the value to url
window.location.href='time.php?return=updated&val='+msg;

//javascript/php executing the function printing the value of the url,
//now with the text normally lost in space because of the reserved & character.

setTimeout("infoApp('updated','<?php echo $_GET['val'];?>');",360);

আশা করি যে কেউ আমার লিটল কোড এক্সট্রাক্টকে দরকারী বলে মনে করেন! :)


0

আমি মনে করি আপনি "ইউআরএল এনকোডিং" - এমন একটি URL এনকোডিংয়ের মতো কিছু সন্ধান করছেন যাতে ওয়েবে এটি "নিরাপদ" ব্যবহার করা যায়:

এখানে তার জন্য একটি রেফারেন্স দেওয়া আছে। আপনি যদি কোনও বিশেষ অক্ষর চান না, কেবল ইউআরএল এনকোডিং প্রয়োজন যে কোনও অপসারণ:

http://www.w3schools.com/TAGS/ref_urlencode.asp


-4

3-50 অক্ষরের মধ্যে। ছোট হাতের অক্ষর, সংখ্যা এবং বিশেষ অক্ষর থাকতে পারে - বিন্দু (।), ড্যাশ (-), আন্ডারস্কোর (_) এবং হারে (@)।


4
এর জন্য কোন রেফারেন্স?
ডাকব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.