দুটি "ওয়েবসাইট" কনফিগারেশন স্কোপ ব্যতীত সকলের জন্য ম্যাজেন্টো ব্যাকএন্ড 404


14

আমাদের মাল্টিওয়েসাইট / মাল্টিস্টোর (দেখুন) ম্যাজেন্টো 1.9.2.2 কনফিগারেশনে এটির স্টোর এবং স্টোরভিউ সহ একটি ওয়েবসাইট অপসারণ করতে হয়েছিল।

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

একটি নতুন কনফিগারেশন সুযোগ বাছাই নিম্নলিখিত URL এর জন্য একটি অনুরোধের ফলাফল (প্রশাসক পথ + কী পরিবর্তন করা হয়েছে):

/index.php/mymageadmin/system_config/edit/section/dev/website/<WEBSITE>/key/1221231/

টেবিলে ক্ষেত্রের <WEBSITE>সমান যেখানে ।codecore_website

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

SELECT `main_table`.* FROM `core_config_data` AS `main_table` WHERE (`scope` = 'websites') AND (`scope_id` = '4') AND (`path` LIKE 'dev/%')
SELECT `core_website`.* FROM `core_website` WHERE (`core_website`.`code`='working_store_code')

404 প্রদত্ত অন্যান্য ওয়েবসাইটগুলি একই প্রথম ক্যোয়ারী দিয়ে শুরু করে - তবে অবশ্যই আলাদা স্কোপ_আইডি, তবে দ্বিতীয় ক্যোয়ারিতে ম্যাগেন্টো মনে করে যে এটির storeviewপরিবর্তে কোনও সুযোগ সন্ধান করতে হবে website! এটি আসলে দুইবার চেষ্টা বলে মনে হচ্ছে।

SELECT `main_table`.* FROM `core_config_data` AS `main_table` WHERE (`scope` = 'websites') AND (`scope_id` = '3') AND (`path` LIKE 'dev/%')
SELECT `core_store`.* FROM `core_store` WHERE (`core_store`.`store_id`=3) ORDER BY `sort_order` ASC
SELECT `core_store`.* FROM `core_store` WHERE (`core_store`.`store_id`=3) ORDER BY `sort_order` ASC

আমার কোর_উইবসাইট টেবিলটি নীচে দেখায়:

website_id code           sort_order     default_group_id  is_default
0          admin          0              0                 0
1          working_one    1              1                 1
3          failing_one    2              4                 0
4          working_two    3              9                 0
6          failing_two    4              16                0
7          failing_three  5              15                0
8          failing_four   6              17                0
9          failing_six    7              18                0

ওয়ার্কিং_এক্সএক্সএক্সএক্স = এই লোডটি ঠিক আছে, ব্যর্থ হচ্ছে_এক্সএক্সএক্সএক্স = এগুলি একটি 404 দেয় / একটি অ-বিদ্যমান স্টোর_আইড নির্বাচন করার চেষ্টা করে।

আমার কোর_ স্টোর টেবিলটি নীচের মত দেখাচ্ছে: (কোড + নাম প্রাসঙ্গিক হিসাবে সরানো হয়েছে)

store_id website_id group_id sort_order is_active
0        0          0        0          1
1        1          1        0          1
4        3          4        1          1
5        3          4        2          1
10       4          9        0          1
19       7          15       0          1
20       4          9        1          1
21       4          9        2          1
22       4          9        4          0
23       6          16       1          1
24       6          16       2          1
26       4          9        4          1
28       7          15       0          1
29       1          1        2          1
30       8          17       0          1
31       9          18       0          1
32       9          18       0          1
33       8          17       2          1
34       8          17       3          1
35       8          17       4          1
36       4          9        10         1

এবং এটি কোর_স্টোর_গোষ্ঠী:

group_id website_id name            root_cat_id default_store_id
1        1          working_one     50          1
4        3          failing_one     44          4
9        4          working_one     77          10
15       7          failing_two     70          19
16       6          failing_three   46          23
17       8          failing_four    50          30
18       9          failing_five    96          31

আমি ওয়েবসাইট / স্টোরভিউ অপসারণ করার আগে আমি এই তিনটি টেবিলকে আমার ডিবি-র ব্যাকআপ কপির সাথে তুলনা করেছি এবং বলেছিলাম ওয়েবসাইট / স্টোরভিউ-এর অপসারণ বাদে - সবকিছু দেখতে একরকম দেখাচ্ছে। একই আইডি, একই কোড ইত্যাদি

যতদূর আমি জানি এই তিনটি টেবিলই কেবলমাত্র স্টোরভিউ / ওয়েবসাইট কোড এবং আইডি এর জন্য ম্যাজেন্টো দ্বারা চেক করা আছে।

সমস্যা সমাধানের জন্য আমি নিম্নলিখিতটি করেছি: পুরানো কনফিগারেশন সহ যে কোনও ক্যাশে রেখে গেছে তা নিশ্চিত করতে: খালি করা var / ক্যাশে, ফ্লাশযুক্ত ক্যাশে, সার্ভার পুনরায় সংশোধন করা, সার্ভার পুনরায় বুট করা ইত্যাদি, কোনও ফলশ্রুতি নেই।

এমনকি সমস্ত পিএইচপি / ম্যাজেন্টো লগইন, বিকাশকারী মোড ইত্যাদির সাথেও আমি কেন এটি ঘটছে তা নিয়ে শূন্য ক্লু পেয়েছি। কোন ব্যতিক্রম লগ করা হয় না।

সুতরাং দুটি প্রশ্ন হ'ল: ম্যাগেন্টো কেন ওয়েবসাইটের সুযোগের পরিবর্তে অস্তিত্বহীন স্টোরভিউ স্কোপটি বেছে নেওয়ার চেষ্টা করছে এবং এটি কীভাবে ঠিক করা যায়?

আপডেট 1 / ওয়ার্কারআউন্ড

দীর্ঘ দিনের সমস্যা সমাধানের পরে, মাগেন্টো-ডিবি-মেরামত সরঞ্জাম সহ তবে সীমাবদ্ধ নয়, মূল_ স্টোর, কোর_স্টোর_গোষ্ঠী এবং কোর_উইবসাইট টেবিলগুলি পুনরায় তৈরি করা হয়েছে, সমস্ত মূল ওয়েবসাইট এবং স্টোর দর্শন সহ আমি অবশেষে নিম্নলিখিতটি লক্ষ্য করেছি:

সমস্ত website_idলোড জরিমানা store_idজন্য একই সংখ্যা সঙ্গে একটি আছে । website_id 1এবং 4প্রত্যাশার মতো লোড হচ্ছে এবং প্রকৃতপক্ষে এখানে (সম্পর্কিত নয়) store_id 1এবং 4সংজ্ঞায়িত রয়েছে।

জন্য website_id 3, 6, 7, 8এবং 9সেখানে নেই store_idএকই সংখ্যক সঙ্গে।

যাইহোক, আমি একবার একটি জাল এন্ট্রি তৈরি করেছিলাম store_id, উদাহরণস্বরূপ 3, website_id 3আবার কাজ শুরু করার কনফিগারেশন স্কোপ লোড করা।

সুতরাং আমি এখন সফলভাবে একটি কর্মক্ষেত্র রেখেছি, আমি একটি অতিরিক্ত (অক্ষম) ওয়েবসাইট এবং 5 (অক্ষম) স্টোর ভিউ দিয়ে শেষ করেছি ...

এটি আগে কোনও সমস্যা ছিল না তা নিশ্চিত হওয়ার জন্য, আমি আমাদের সাইটের পুরানো অনুলিপিগুলির একটিতে গিয়েছিলাম যা আমি আমার ডেভ সার্ভারে রেখেছি (ম্যাজেন্টো সংস্করণ 1.9.1.0)।

এখানে সবকিছু পুরোপুরি, অর্থাত্ কাজ করে website_id 6একটি ছাড়াই লোড store_id 6মধ্যে core_storeটেবিল।


আমাকে জিজ্ঞাসা করতে হবে, আপনি যখন সমস্ত কিছু পরিবর্তন করেছেন তখন আপনি কি ইউআরএল সূচী চালিয়েছেন?
অ্যান্টনি সিচেল্লি

আরে @ অ্যান্থনি সিকেলী, জিজ্ঞাসা করার জন্য ধন্যবাদ। সমস্যাটি সমাধান করার চেষ্টা করার পরে এই প্রথম
জিনিসটি ছিল

অনেকগুলি কারণ রয়েছে বলে এখান থেকে এটি বলা শক্ত, আপনি কি ডিবি থেকে আপনার সমস্ত ইউআরএল সরিয়ে ফেলেছেন এবং ইউআরএলটি আবার চালাচ্ছেন? আমার উপর ভিত্তি করে সংযুক্ত মনে হচ্ছে above উপরের মতো ডিবি-র সাথে সরাসরি কাজ করে যত্নবান হন। আপনার ব্যাকআপ রয়েছে তা নিশ্চিত করুন অন্যথায় এটি সবকিছু ভেঙে যেতে পারে।
অ্যান্টনি সিচেল্লি 19:38

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

উত্তর:


2

আমি একক-ওয়েবসাইটে স্টোরে একই রকম সমস্যা পেয়েছি এবং নিম্নলিখিত প্রশ্নের সাথে সমাধান করেছি।

SET SQL_SAFE_UPDATES=0;
SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;
SET SQL_SAFE_UPDATES=1;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.