কেবল সিএমএস হিসাবে ব্যবহার করার জন্য সম্মুখ প্রান্তটি অক্ষম করবেন?


18

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

আমার ওয়ার্ডপ্রেস ইনস্টলেশনটি ইনস্টল আছে /wordpress/এবং স্পষ্টতই অ্যাডমিন বিভাগটি এর অধীনে রয়েছে /wordpress/wp-admin/

অ্যাডমিন বিভাগকে প্রভাবিত না করে বরং কাউকে বরং * আন * সেটআপ ওয়ার্ডপ্রেস সাইটে অ্যাক্সেস থেকে বাধা দেওয়ার সর্বোত্তম উপায় কী হবে?

যদি কিছু হয় তবে আমি কেবল ওয়েবসাইটের সঠিক হোম পৃষ্ঠায় ( domain.com/) পুনর্নির্দেশ করতে পারি ।

উত্তর:


19

কেবল সামনের প্রান্তটি পুনঃনির্দেশিত হয়েছে তা নিশ্চিত করতে domain.com, একটি থিম তৈরি করুন যা পিএইচপি শিরোলেখ () ফাংশন ব্যবহার করে।

  • রিডাইরেক্ট বা অন্য কিছু নামে একটি ফোল্ডার তৈরি করুন।
  • ফোল্ডারে দুটি ফাইল যুক্ত করুন: style.cssএবং index.php (একটি বৈধ WP থিমের জন্য প্রয়োজনীয়)
  • ইন style.css, এর মতো কিছু যুক্ত করুন:

    / *
    থিমের নাম: পুনর্নির্দেশের
    বিবরণ: ডোমেন ডট কমের সম্মুখ প্রান্তটি পুনঃনির্দেশ করুন
    * /

  • এটি index.phpযোগ করুন:

    শিরোনাম ("অবস্থান: http://domain.com ");

  • থিম ডিরেক্টরিতে ফোল্ডারটি আপলোড করুন এবং তারপরে এডমিন ইউআইতে সক্রিয় করুন।

এটা মজার কারণ যে আলো আমার মাথায় চলে গেছে in কেন কেবল এমন একটি থিম তৈরি করবেন না যা পুনর্নির্দেশ করে! ধন্যবাদ।
নিক বেডফোর্ড

1
<?php
কারওর

8

"খালি ডেটা" সহ একটি থিম ব্যবহার করুন। ডিরেক্টরিতে দুটি ফাইল রাখুন, তারপরে "থিম" সক্রিয় করুন।

style.css

/*
Theme Name: turn off frontend
Theme URI: 
Description: 
Author: 
Version: 
License: GNU 
License URI: 
Tags:
*/

এবং index.php

<?php
exit;

আমি এই সমাধানটি পছন্দ করি, আপনি সহজেই একটি পূর্ণ ওয়ার্কিং থিমটিতে ফিরে যেতে পারেন। এছাড়াও আপনি <?php wp_redirect(site_url('wp-admin'));die();প্রদত্ত উত্সটিতে স্বয়ংক্রিয়ভাবে পুনঃনির্দেশ করতে প্রস্থানের পরিবর্তে এমন কিছু যুক্ত করতে পারেন ।
MiCc83

3

এটি আপনার .htaccess এ রাখুন এবং আপনি যে পাথগুলি উপলভ্য রাখতে চান তা তালিকাবদ্ধ করুন:

RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-includes
RewriteCond %{REQUEST_URI} !^/wp-login
RewriteCond %{REQUEST_URI} !^/wp-content/uploads
RewriteCond %{REQUEST_URI} !^/wp-content/plugins
RewriteCond %{REQUEST_URI} !^/wp-content/cache
RewriteRule (.*) http://yournewdomain.com/ [R=301,L]

2

আপনার মূল ডিরেক্টরিতে এটি .htaccess এ যুক্ত করুন

redirect 301 /wordpress http://www.domain.com

সম্পাদনা: এটি সত্যিই কেবল দ্রুত সমাধান, আরও ভাল সমাধান হতে পারে। অন্য উপায়টি হ'ল আপনার ফাংশন.এফপি ফাইলে কোনও ফাংশন যুক্ত করা হবে, তারপরে ডাব্লুপি_হেড () এ সেই পথে পুনঃনির্দেশ করার জন্য ডাকা হয়। এই পদ্ধতিটি ব্যবহার করে আপনি নিজেকে এটিকে একটি সাধারণ আইপি চেক দিয়ে দেখার অনুমতি দিতে পারেন।


এর একটি পার্শ্ব প্রতিক্রিয়া রয়েছে যা /wordpress/wp-adminএখন পুনর্নির্দেশ করে//wp-admin
নিক বেডফোর্ড

1

যদিও এটি ইতিমধ্যে স্বীকৃত উত্তরের সাথে একটি পুরানো প্রশ্ন, তবে কেউ এই দরকারীটি পেতে পারেন বিশেষত যেহেতু এই সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

function redirect_to_backend() {
    if( !is_admin() ) {
        wp_redirect( site_url('wp-admin') );
        exit();
    }
}
add_action( 'init', 'redirect_to_backend' );

কোডটি নিজেই বেশ ব্যাখ্যাযোগ্য:

  • 'init' হুকটিতে চেকটি চালান
  • আমরা যে পৃষ্ঠাটি লোড করছি সেটির সামনের প্রান্তটি রয়েছে কিনা তা পরীক্ষা করুন (ডাব্লুপি-প্রশাসক নয়)
  • পুনঃনির্দেশ পিছনে শেষ (ডাব্লুপি-প্রশাসক)

যে কোনও প্লাগইন বা থিমের ফাংশন.পিএপিতে কেবল কোডটি রেখে দিন এবং এটি বাক্সের বাইরে কাজ করা উচিত।

সম্পাদনা করুন:

যদি এটি আপনার পক্ষে কাজ করে না (আমার কাছে এই কোডটি নিয়েও ছোটখাটো সমস্যা ছিল) তবে আপনি একটি নতুন থিম তৈরি করতে পারেন (বা চাইল্ড থিম) এবং কেবলমাত্র এই সামগ্রীটি header.phpফাইলের ভিতরে রাখতে পারেন :

<?php
header("Location: ".get_admin_url());
exit();

0

আইএমও, একটি প্লাগইনে কম কাজের প্রয়োজন হবে এবং নির্দিষ্ট ক্ষেত্রে এটি আরও উপযুক্ত।

<?php
/*
Plugin Name: Disalbe Frontend
Description:  Disable the frontend interface of the website, leave only CMS and REST API
Author: Nikola Mihyalov
Version: 1.0
*/

add_action('init', 'redirect_to_backend');

function redirect_to_backend() {
    if(
        !is_admin() &&
        !is_wplogin() &&
        !is_rest()
    ) {
    wp_redirect(site_url('wp-admin'));
    exit();
  }
}


if (!function_exists('is_rest')) {
    /**
     * Checks if the current request is a WP REST API request.
     * 
     * Case #1: After WP_REST_Request initialisation
     * Case #2: Support "plain" permalink settings
     * Case #3: URL Path begins with wp-json/ (your REST prefix)
     *          Also supports WP installations in subfolders
     * 
     * @returns boolean
     * @author matzeeable
     */
    function is_rest() {
        $prefix = rest_get_url_prefix( );
        if (defined('REST_REQUEST') && REST_REQUEST // (#1)
            || isset($_GET['rest_route']) // (#2)
                && strpos( trim( $_GET['rest_route'], '\\/' ), $prefix , 0 ) === 0)
            return true;

        // (#3)
        $rest_url = wp_parse_url( site_url( $prefix ) );
        $current_url = wp_parse_url( add_query_arg( array( ) ) );
        return strpos( $current_url['path'], $rest_url['path'], 0 ) === 0;
    }
}

function is_wplogin(){
    $ABSPATH_MY = str_replace(array('\\','/'), DIRECTORY_SEPARATOR, ABSPATH);
    return ((in_array($ABSPATH_MY.'wp-login.php', get_included_files()) || in_array($ABSPATH_MY.'wp-register.php', get_included_files()) ) || (isset($_GLOBALS['pagenow']) && $GLOBALS['pagenow'] === 'wp-login.php') || $_SERVER['PHP_SELF']== '/wp-login.php');
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.