আমার এইচটিএক্সেসে এটি আছে তবে এটির জন্য কী তা নির্ধারণ করতে পারছি না। নিয়মের প্রকৃতির কারণে অনুসন্ধানে কোনও লাভ হয় না।
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301]
কেউ দয়া করে এটি কি জন্য ব্যাখ্যা করতে পারেন?
আমার এইচটিএক্সেসে এটি আছে তবে এটির জন্য কী তা নির্ধারণ করতে পারছি না। নিয়মের প্রকৃতির কারণে অনুসন্ধানে কোনও লাভ হয় না।
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301]
কেউ দয়া করে এটি কি জন্য ব্যাখ্যা করতে পারেন?
উত্তর:
সকল এই নিয়ম করে একটি trailing যোগ হয় /
আপনার URL গুলিতে কোন লোক না এবং যদি কোন .
কোনো URI, তাই https://example.org/test
থেকে আপনাকে পুনঃনির্দেশিত করা হবে https://example.org/test/
, কিন্তু https://example.org/test.html
করতে পুনর্লিখিত করা হইনি https://example.org/test.html/
(কিন্তু মনে রাখবেন: https://example.org/test.case/folder
এছাড়াও হবে না থেকে আপনাকে পুনঃনির্দেশিত করা https://example.org/test.case/folder/
যেমন রয়েছে একটি .
ইউআরআই)।
## Do the following if the URI does not end with `/` or does not contain an `.`:
## the . is relevant for file names like test.html, which should n
RewriteCond %{REQUEST_URI} !(/$|\.)
## Redirect it to the original URI with an added `/` and mark this as permanent:
RewriteRule (.*) %{REQUEST_URI}/ [R=301]
/test.case/folder
এছাড়াও পুনর্নির্দেশ করা হবে না" - মাইনর পয়েন্ট, তবে "ফোল্ডার" যদি একটি ফাইল সিস্টেম ডিরেক্টরি হয়, তবে মোড_ডির একটি 301 পুনর্নির্দেশ ইস্যু করে একটি ট্রেলিং স্ল্যাশ যুক্ত করতে পারে। এটি কেবল তখনই সমস্যা যদি এটির /test.case/some-other-virtual-url
পিছনে স্ল্যাশ হওয়া উচিত।
বৈধতা না দিয়ে, তবে অ্যাপাচি পুনর্লিখনে আমার অভিজ্ঞতা ব্যবহার করে এই কনফিগারেশনটি মনে হয়:
এটি নিম্নলিখিত পরীক্ষার ক্ষেত্রে ফলাফল দেবে
/ -> /
/test -> /test/
/my/resource -> /my/resource/
/my/resource.type -> /my/resource.type
/edge.case/resource -> /edge.case/resource
সুতরাং আমি মনে করি যে এই নিয়মের একটি সংস্থান আছে যেগুলি সংস্থানগুলিতে ফাইলগুলি বলে মনে হয় না, তবে এটি প্রান্ত-কেস বলে মনে হয় sla
যদি '' দিয়ে কোনও সংস্থানে স্ল্যাশ যোগ না করে। (বিন্দু) পাথের নন-ফাইল অংশের চরিত্রটিকে নিয়মিত প্রকাশটি পরিবর্তন করতে হবে:
# match paths which do not end with a slash, or do not resemble a file with an extension
RewriteCond %{REQUEST_URI} !(/$|\.[^/]+$)
# redirect permanently to the same uri with a slash
RewriteRule (.*) %{REQUEST_URI}/ [R=301]
!(\/$|\.[^\/]*)
- আপনার আপডেট করা রেজেক্সটি আসলে আলাদা নয়। আপনার পাশাপাশি ২ য় অংশে (যেটি এক্সটেনশনের সাথে মেলে) স্ট্রিংয়ের একটি অ্যাঙ্কর দরকার। সম্ভবত এর মতো কিছু: !(/|\.[a-zA-Z]+)$
(স্ল্যাশগুলি থেকে বাঁচার দরকার নেই)।
/
এবং এতে একটি ".
" থাকে না , তবে অনুরোধটি এটি দিয়ে যুক্ত করে পুনঃনির্দেশ করুন/
। এই নিয়মের সম্ভাব্য উদ্দেশ্যটি হ'ল স্বয়ংক্রিয় ডিরেক্টরি সূচকটি পরিচালনা করা।