ওয়ার্ডপ্রেস একটি 404 ত্রুটির সাথে ওভাররাইড করায় নন-ওয়ার্ডপ্রেস উপ-ডিরেক্টরিগুলি অ্যাক্সেস করতে পারে না


34

আমি পূর্বে জিজ্ঞাসিত এই প্রশ্নের উল্লেখ করেছি এবং যথাযথভাবে উত্তর দেওয়া হয়নি: ওয়ার্ডপ্রেস সত্যিকারের উপ-ডিরেক্টরিগুলি ওভারাইডিং এবং নন "ওয়ার্ডপ্রেস" পৃষ্ঠা / কোড 404 ত্রুটি পেয়েছে

আমার একই সমস্যা আছে এবং আমি নেট থেকে পাওয়া প্রায় সমস্ত কিছুই চেষ্টা করেছি। এটি স্পষ্টতই ওয়ার্ডপ্রেসে পারমিলিকগুলি চালু থাকার সাথে সম্পর্কিত। যাইহোক, আমি সহ ডিরেক্টরিতে একটি নতুন .htaccess ফাইলটি রেখেছি:

পুনর্লিখন বন্ধ করুন

এবং সমস্যা এখনও বিদ্যমান। এমনকি আমি ওয়ার্ডপ্রেস .htaccess ফাইলটি সম্পূর্ণরূপে মুছলেও সমস্যাটি এখনও বিদ্যমান।

আমি আরও কিছু প্রস্তাবিত সমাধানের চেষ্টা করেছি যেমন ত্রুটিযুক্ত ডকুমেন্ট 401 "অননুমোদিত অ্যাক্সেস" এবং ত্রুটিপত্রক 404 "অননুমোদিত অ্যাক্সেস" এবং 301 / mysubdirectory http://www.mydomain.com/mysubdirectory/index.html বিভিন্ন স্থানে পুনর্নির্দেশ ।

কেউ দয়া করে অন্য একটি সমাধান প্রস্তাব করতে পারেন? আমি এটি ঠিক করতে পারার একমাত্র উপায় হ'ল পারমালিঙ্কস বন্ধ করা তবে আমাদের সেগুলি চালু হওয়া দরকার।

ধন্যবাদ,

নিকলে


ওয়ার্ডপ্রেস রুট ফোল্ডারে আপনি যদি index.php এর নাম পরিবর্তন করে। ডিরেক্টরিটি এখনও অ্যাক্সেসযোগ্য নয়?
হার্টকোর

আপনি কি আপনার সাব-ফোল্ডার .htaccess (মূল্যের জন্য এই সাব-ফোল্ডার সহ) এর বেস url পুনরায় সংজ্ঞায়িত করার চেষ্টা করেছেন?
সিড্রিক জি

উত্তর:


28

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

যদি এটি হয় তবে আপনি কয়েকটি কাজের একটি করতে পারেন:

  1. আপনার ওয়ার্ডপ্রেসটিকে নিজস্ব ডিরেক্টরিতে সরান। দেখুন: http://codex.wordpress.org/ মুভিং_ওয়ার্ডপ্রেস যদি আপনি ওয়ার্ডপ্রেসটিকে নিজস্ব ডিরেক্টরিতে স্থানান্তর করেন যাতে এটি আপনার সার্ভার ডিরেক্টরি বিভাগের অন্যান্য স্তরের হিসাবে একই স্তরে থাকে তবে ওয়ার্ডপ্রেস পুনর্লিখনের নিয়মগুলি অন্যান্য ডিরেক্টরিগুলিকে প্রভাবিত করতে পারে না।

  2. পুনর্লিখন বন্ধ - এটি সাধারণত কাজ করবে। যদি এটি কাজ করে না তবে আপনি কোনও ওয়াইল্ডকার্ড ডিএনএস সেটিংস ব্যবহার করছেন না তা পরীক্ষা করুন। আপনার ডিএনএস সেটিংসে আপনার ওয়েব সার্ভারে ওয়াইল্ডকার্ড * হোস্টনাম রেকর্ডটি নির্দেশ করা থাকলে এটি .htaccess এবং সাবডোমেনগুলি সহ সর্বনাশ করতে পারে।

  3. আপনার সাইটের মূলের .htaccess ফাইলে, নিম্নলিখিত উপরে ওয়ার্ডপ্রেস .htaccess নির্দেশিকা যুক্ত করুন:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR]
    RewriteRule ^.*$ - [L]
    </IfModule>

এর মধ্যে একটি আপনার পক্ষে কাজ করা উচিত।


17

এটি অতীতে একই ধরণের পরিস্থিতির জন্য আমার পক্ষে কাজ করেছে:

এটি উপরে রাখুন .htaccess

ErrorDocument 401 default

2
ধন্যবাদ! আমি অনেক কিছুই চেষ্টা করেছি, তবে এটিই আমার সমাধানের জন্য একমাত্র সমাধান: পাসওয়ার্ড-সুরক্ষিত উপ-ডিরেক্টরি
রাডো

2
আমার জন্যও কাজ করেছেন, এটি কী করে এবং কেন এটি কাজ করে সে সম্পর্কে কোনও ব্যাখ্যা?
আসফ

এটি আমার পক্ষে কাজ করে .. ওয়ার্ডপ্রেস না ব্যবহার করে ওপেনকার্ট এবং একই সমস্যা রয়েছে। একটি ব্যাখ্যা সত্যিই সহায়ক হবে।
বিলেন্নাহ

4

আমি যখন আমার ফাইলগুলিকে একই সার্ভারে অনুলিপি করি তবে বিভিন্ন সাব-ডাইরেক্টরি ফোল্ডার দিয়ে তাই যখন আমি আমার পৃষ্ঠাগুলি অ্যাক্সেস করার চেষ্টা করেছি, সূচি.এফপি ঠিকঠাক কাজ করছে তবে অন্য পৃষ্ঠাগুলি আমাকে 404 ত্রুটি দিচ্ছে না। আমার অদক্ষ ইংরেজির জন্য আমি দুঃখিত!!

আমি কেবল আমার htaccess এ আসলটি দেখেছি:

# শুরু করুন ওয়ার্ডপ্রেস

পুনরায় লিখুন
পুনর্লিখন বেস /
RewritCond% {REQUEST_FILENAME}! -ফ
RewritCond% {REQUEST_FILENAME}! -ড
পুনর্লিখন। /index.php [এল]

# শেষ ওয়ার্ডপ্রেস

এবং নতুন একটি সঙ্গে রাখুন

# শুরু করুন ওয়ার্ডপ্রেস

পুনরায় লিখুন
রিরাইটবেস / সাব-ডাইরেক্টরিফোল্ডার
RewritCond% {REQUEST_FILENAME}! -ফ
RewritCond% {REQUEST_FILENAME}! -ড
পুনর্লিখন। /subdirectoryfolder/index.php [এল]

# শেষ ওয়ার্ডপ্রেস

হাই @ লিজেট ডাব্লুপিএসই ফোরামে স্বাগতম আপনি এখানে ফর্ম্যাটিং কীভাবে কাজ করে তা পরীক্ষা করে দেখতে চাইতে পারেন ।
পোথি কলিমুথু

4

আমি এই থ্রেডটি কয়েক মাস পুরাতন দেখতে পাচ্ছি, তবে কেবল যদি আপনি এটি কখনও কাজ করতে পারেন নি!

আমার অনুরূপ সমস্যা ছিল, তবে আমার সমস্যাটি হ'ল ওয়ার্ডপ্রেস ইনস্টলটি সাব-ডিরেক্টরীতে অবস্থিত যা মূলের মধ্যে ফোল্ডারগুলিতে ইউআরএল অ্যাক্সেসকে রোধ করেছিল (ডাব্লুপি ইনস্টল ডিরেক্টরিের বাইরে), তবে কেবল তখন পারমালিক্স সক্ষম করা হয়েছিল। এটি সমাধানের জন্য, আমি ডাব্লুপি ইনস্টলটি যে সাব-ডিরেক্টরিতে ডাব্লুপি ইনস্টল অবস্থিত সেখানে থেকে সূচী। পিএইচপি এবং .htaccess (অনুলিপি না সরান) উভয়ই অনুলিপি করেছিলাম এবং এগুলি উভয়কেই রুট পাবলিক_এইচটিএমএল (অথবা যে কোনও উপ-ডিরেক্টরি যা আপনি ডাব্লুপিপি ইনস্টলের বাইরে অ্যাক্সেস করার চেষ্টা করছেন) তে রেখেছি ডিরেক্টরি)। .Htaccess ফাইলটিতে ইতিমধ্যে Permalink জন্য পুনর্লিখনের শর্ত রয়েছে:

RewriteEngine On
RewriteBase /subdirectoryinstallfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

রিফ্রেশের জন্য পারমালিঙ্কগুলি সক্ষম করুন এবং এটি সমস্ত সমস্যার সমাধান করে। রুট ফোল্ডারগুলির জন্য আপনার অনুমতিগুলিও ঠিকঠাকভাবে সেট করা আছে কিনা তা নিশ্চিত করুন কারণ এটি অতীতে আমার সমস্যার কারণ হয়েছিল।


3

যদি আপনি এখনও এইচটিসেসটি অক্ষম করে 404 পেয়ে যাচ্ছেন এবং আপনি পাথগুলি যাচাই করেছেন এবং আপনি জানেন যে ফাইলগুলি আছে তবে আপনার কেবলমাত্র বিকল্পগুলি এই তিনটি আছে ...

বিকল্পসমূহ ...

  1. সার্ভারটি সম্ভবত একটি কেস-সংবেদনশীল অপারেটিং সিস্টেম চালাচ্ছে। যার অর্থ আপনি যদি কোনও পথে টাইপ করছেন এবং সঠিক অক্ষরগুলি ব্যবহার না করে এবং এটি সহজভাবে কেস করা কার্যকর হয় না।
  2. অনুমতিগুলি: আপনার কাছে ফাইল বা ফোল্ডার বা কোনও পিতামাতার ফোল্ডারে ভুল অনুমতি থাকতে পারে। ফাইল, ফোল্ডার এবং প্যারেন্ট ফোল্ডারে অনুমতিগুলি 755 এ পরিবর্তন করার চেষ্টা করুন। যদি আপনার এটিতে ssh (টার্মিনাল) অ্যাক্সেস থাকে তবে আপনার মূলটিতে যান এবং এই "chmod -R 755 মাইডির" চালান এবং এটি তাদের সবার জন্য পুনরাবৃত্তভাবে অনুমতিগুলি সেট করবে।
  3. যদি এখনও এর পরেও আপনার কোনও সমস্যা হয় তবে আপনার একটি সার্ভার কনফিগারেশন সমস্যা রয়েছে (অ্যাপাচি সম্ভবত)। এটি সম্পর্কে আপনার হোস্টিং সরবরাহকারীর সাথে কথা বলতে হবে।

যদি এর কোনওটিই কাজ না করে তবে আপনার একটি নতুন হোস্ট দরকার।


2

Htaccess আমার চুল সম্পাদনার প্রায় শেষ করার পরে আমি অবশেষে একটি সমাধান পেয়েছি যা ওয়ার্ডপ্রেসের জন্য কাজ করবে।

ওয়ার্ডপ্রেস ইনস্টল করা একই রুট ডিরেক্টরিতে কোডিগিন্টার স্ক্রিপ্ট ইনস্টল করার পরে আমার এই সমস্যা হয়েছিল।

এখানে তালিকাভুক্ত সমস্ত কৌশল চেষ্টা করার পরেও আমি নতুন স্ক্রিপ্টের সাথে যুক্ত পৃষ্ঠাগুলিতে 404 ত্রুটি পেয়েছি।

আমি লক্ষ করেছি যে ওয়ার্ডপ্রেস এইচটিসেস স্ক্রিপ্টের এইচটিসেসকে ছাড়িয়ে যাচ্ছে। আমি আরও উল্লেখ করেছি যে একই ডিরেক্টরিতে অন্যান্য ওয়ার্ডপ্রেস ইনস্টলেশনগুলিতে এই 404 ত্রুটি ছিল না।

আমি কেবল একই সার্ভার ডিরেক্টরিতে নতুন ওয়ার্ডপ্রেস ইনস্টলেশন থেকে htaccess গ্রহণ করেছি এবং আমার স্ক্রিপ্টটি যেখানে রয়েছে সেই ফোল্ডারে এটি যুক্ত করেছি। এটি দেখতে কেমন দেখাচ্ছে:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirectoryname/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectoryname/index.php [L]
</IfModule>

আপনার ডিরেক্টরিটির নামের সাথে সাব-ডাইরেক্টরির নামটি প্রতিস্থাপন করুন এবং আপনার স্ক্রিপ্টটি যেখানে রয়েছে সেই ফোল্ডারের ভিতরে এই htaccess ফাইলটি রাখুন।

উদাহরণ: সাইটটি যদি এখানে ইনস্টল করা থাকে

public_html/

এবং নতুন ফোল্ডারটি অবস্থিত

`public_html/example`

উপরের এইচটিসেসটি অনুলিপি করুন এবং ফোল্ডারটির মধ্যে এটি সংরক্ষণ করুন 'উদাহরণ' এবং এটি কাজ করা উচিত।


1

আমি এখানে বেশ কয়েকবার প্রতিক্রিয়াগুলি দেখেছি কারণ আমি একই ধরণের সমস্যার মধ্যে দিয়ে যাচ্ছি। আমার একটি সাব-ডিরেক্টরিতে ফাইল রয়েছে যা 404 ত্রুটি নিক্ষেপ করবে যখন আমি সেগুলি অ্যাক্সেস করার চেষ্টা করেছি। সমস্ত .htaccess স্টাফ এটি সংশোধন করতে ব্যর্থ হয়েছে, যেমন কার্স্টেন ডগলাস বলেছেন, ওয়ার্ডপ্রেস ইতিমধ্যে কাজটি করে।

আমার সমাধান

সার্ভারে ত্রুটি_লগটি পরীক্ষা করার পরে আমি এই নিবন্ধটি পেয়েছি । স্ক্রিপ্টগুলির জন্য আমি ভুল uid সম্পর্কে একটি বার্তা পাচ্ছিলাম। আমি আরও লক্ষ্য করেছি যে ফাইলটির কারণে 404 নিক্ষেপ করা হচ্ছে না, তবে সার্ভারটি একটি 500 এইচটিএমএল ফাইল পরিবেশন করতে পারেনি অর্থাৎ আমার 500 ত্রুটি ছিল।

দেখা যাচ্ছে যে আমি ফাইলগুলি মূল হিসাবে তৈরি করেছি এবং এটি ওয়েবফাইলেসের মালিকের মালিকানা পরিবর্তন করা দরকার।

আমি আশা করি এটি অন্যদের যারা একই সমস্যা রয়েছে তাদের সহায়তা করে!


0

আপনার কেবলমাত্র একটি RewriteCondনির্দেশিকা যুক্ত করতে সক্ষম হওয়া উচিত যা আপনার সাবফোল্ডারের অভ্যন্তরের অনুরোধগুলির জন্য ওয়ার্ডপ্রেস বিধিগুলি উপেক্ষা করা নিশ্চিত করবে।

RewriteCond %{REQUEST_URI} !^/mysubdirectory
# rest of WordPress rewrite rules

তবে, আপনি বলছেন যে কোনও ওয়ার্ডপ্রেস না দিয়েও .htaccessআপনি সমস্যাটি অনুভব করছেন? আপনার উপ-ডিরেক্টরি অন্তর্ভুক্ত .htaccessকি?

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