WordPress'i Bir Alt Dizine Kurmak İçin En İyi Kılavuz
Bu makalede, WordPress'i bir alt dizine kurmanın faydalarına ve sınırlamalarına, alt dizin kurulumlarının nasıl kurulacağına ve yönetileceğine ve WordPress çekirdeğinin mevcut bir site için bir alt dizinden nasıl alt dizine taşınacağına bakacağız.
PHP geliştiricilerinin WordPress'teki ortak eleştirilerinden biri, tüm çekirdek dosyalarını doğrudan web kök dizinine yüklemesidir. Laravel gibi modern PHP çerçeveleri, gerekli dosyalarını, her biri kendi özel alt dizininde bulunan bir vendor dizinine ayrı bağımlılıklar olarak kurar. Sadece bu da değil, WordPress'in aksine Laravel, neredeyse tüm PHP dosyalarını herkesin erişebileceği bir dizinden uzak tutuyor, bu da güvenlik için çok iyi. Bu, uygulamanın web kökünde daha temiz, daha güvenli bir klasör yapısı sağlar.
Bu modern PHP uygulama dizini yapıları, varsayılan bir WordPress kurulumunun kesinlikle profesyonellikten uzak görünmesini sağlar. Bir WordPress kurulumunda tüm PHP dosyalarını genel web kökünden çıkarmak mümkün olmasa da, WordPress'i bir alt dizine kurarak kurulumunuzu bu bağımlılığa dayalı geliştirme konseptini taklit edecek şekilde özelleştirebilirsiniz.
İçindekiler
- WordPress Core'u Bir Alt Dizine Yüklemenin Faydaları
- WordPress Çekirdeğinin Bir Alt Dizine Yüklenip Kurulmadığı Nasıl Anlaşılır
- Bir Alt Dizine WordPress Çekirdeği Nasıl Kurulur
- Resmi WordPress Belgelenmiş Yöntemler
- Alt Dizin Kurulumunu El İle Yapılandırma
- WordPress'i Bir Alt Dizine Kurmak için WP-CLI Kullanma
- WordPress'i Bir Alt Dizine Kurmak için Besteci Kullanma
- WordPress Dosya ve Klasör Yapısını Göz önünde bulundurarak
- WordPress Yapılandırma Dosyasını Taşıma
- WordPress İçerik Klasörünü Taşıma
- Kök Kurulumunu Alt Dizin Kurulumuna Dönüştürme
- Sitenizi Hazırlayın
- Veritabanını Güncelle
- WordPress Dosyalarını Alt Dizine Taşıma
- Alt Dizin Kurulumunu Kök Kuruluma Dönüştürme
- Sitenizi Hazırlayın
- WordPress Veritabanını Güncelleyin
- WordPress'i Alt Dizinden Çıkarma
- Toplama
WordPress Core'u Bir Alt Dizine Yüklemenin Faydaları
Çoğu web barındırma ortamında, hesabınız, kullanıcı adı hesabınızın kullanıcı adı olduğu bir /home/username username altında sağlanır. Bu klasöre bazen hesabınızın en üst düzeyi veya kökü denir ve gerçek yol web barındırıcısından web barındırıcısına değişir. Genellikle, web sitesi dosyalarını sunmak için yapılandırılmış bir public veya public_html klasörünüz olur. Bu genellikle web kök dizini olarak bilinir ve WordPress'in genellikle yüklendiği yerdir.
WordPress çekirdek dosyalarını bir alt dizine taşımanın doğrudan faydası, web kökünüzde daha temiz ve daha profesyonel görünümlü bir dizin yapısıdır. Bazı kişiler, bir alt dizin kurulumuna geçmenin, belirsizlik yoluyla güvenliği artırdığını düşünüyor. Bu, yalnızca wp-config.php dosyanızı, bir alt dizin kurulumu kullansanız da kullanmasanız da, herkesin erişebileceği web kök dizininin dışına taşırsanız gerçekten uygulanabilir.
Ancak, otomatik tarama botlarının modern dünyasında, WordPress çekirdek dosyalarınızı bir alt dizine taşımak, sitenizi tararken kötü niyetli botların güvenlik açıklarını algılama şansını azaltmaya yardımcı olabilir. Örneğin, tipik bir WordPress kurulumunda, tüm çekirdek dosyalarınız, apeks alanınızdan erişilebilen genel web kökündedir (ör. https://hellfish.media ). Bu nedenle, bir tarayıcının tek yapması gereken alan adınızı taramak, https://hellfish.media/wp-blog-header.php gibi yaygın bir WordPress dosyası olup olmadığını kontrol etmektir ve bir WordPress kurulumunuz olduğunu bilecektir. Çekirdek dosyaları bir alt dizine taşırsanız, saldırganların WordPress çalıştırdığınızı belirlemesi zorlaşır (ancak imkansız değildir).
Daha temiz bir dizin yapısı ve güvenlikteki artış, bir kurulumu bir alt dizine taşımak için sağlam nedenlerdir, ancak bunu başarmak için bilmeniz gereken bazı şeyler vardır. WordPress kurulumunu bir alt dizine taşıyıp her şeyin çalışmasını bekleyemezsiniz.
WordPress Çekirdeğinin Bir Alt Dizine Yüklenip Kurulmadığı Nasıl Anlaşılır
Kendiniz tamamladığınız bir WordPress kurulumuyla, muhtemelen web köküne mi (yani bir kök kuruluma) yoksa bir alt dizine mi kurulduğunu bileceksiniz. Ancak, bir siteyi devraldığınız veya bir barındırma sağlayıcısının tek tıklamalı yükleyicisini kullandığınız bir durumda olabilirsiniz veya ilk kurulumun üzerinden çok uzun zaman geçmiş olabilir.
WordPress kurulumunuzun web kökünde mi yoksa bir alt dizinde mi olduğunu belirlemek için WordPress panonuza gidin ve Ayarlar > Genel ekranına gidin. Orada “WordPress Adresi (URL)” ayarını ve “Site Adresi (URL)” ayarlarını göreceksiniz:

Değerler eşleşirse, kök WordPress kurulumunuz vardır. “WordPress Adresi (URL)”, Site Adresine (URL) kıyasla ek bir yola sahipse, bir alt dizindedir. Sitenize giriş yaptığınızda URL'ye bakarak da anlayabilirsiniz. WordPress bir alt dizine kurulmuşsa, wp-admin sayfası bu alt dizinin altında gösterilecektir (örneğin hellfish.media/wp/wp-admin/ ).
Bir Alt Dizine WordPress Çekirdeği Nasıl Kurulur
WordPress çekirdek dosyalarını bir alt dizine kurmanın birkaç farklı yolu vardır.
Resmi WordPress Belgelenmiş Yöntemler
WordPress'i bir alt dizine taşıma yöntemleri, WordPress.org destek belgelerinde ayrıntılı olarak açıklanmıştır. Bu seçenekler, WordPress'i zaten yükledikten sonra size sunulur.
İki seçenek şunlardır:
- Bir WordPress kurulumunu site URL'sini değiştirmeden kendi dizinine taşıma
- Site URL'sinde değişiklik yaparak bir WordPress kurulumunu kendi dizinine taşıma
Bu seçeneklerin hiçbiri, daha önce tartıştığımız güvenlik artışına gerçekten yardımcı olmuyor. İlk seçenek site dosyalarını bir alt dizine taşır ve istekleri alt dizine yeniden yazmak için özel bir .htaccess dosyasındaki yeniden yazma kurallarını kullanır. URL'nizi tarayan herhangi bir bot, WordPress kullandığını belirlemeye devam edebilir.
İkinci seçenek güvenlikle daha az ilgilidir ve özel bir site kurulumunuz varsa daha kullanışlıdır. Bu genellikle, URL'nizin bir alt dizininde (örneğin, https://hellfish.media/blog ) bir blogu güçlendirmek için WordPress'i kullanmak istediğinizde kullanılır ve üst düzey URL'nizi güçlendirmek için başka bir şey kullanacaksınız.
Bununla birlikte, her iki yöntem de WordPress kurulumunuzu bir alt dizine taşır, böylece web kökünüz en azından daha düzenli görünür.
Ne güzel olurdu, bu ilk seçenek, ancak daha iyi güvenlik için herhangi bir URL yeniden yazma olmadan.
Alt Dizin Kurulumunu El İle Yapılandırma
Bir WordPress kurulumundaki dosyaların birbirini nasıl "gerektirdiğine" dair önceki açıklamayı hatırlarsanız, wp-blog-header.php dosyasında ABSPATH sabitinin tanımlandığını da fark etmiş olabilirsiniz. Bu sabit, dosya sisteminde nerede olursa olsun, WordPress çekirdek dosyalarının yüklendiği yeri gösterir.
Bu, biraz bilgi ve biraz kurcalama ile tüm WordPress çekirdek dosyalarını bir alt dizine taşıyabileceğimiz ve WordPress'in her şeyin nerede olduğunu bilmesini sağlamak için birkaç küçük değişiklik yapabileceğimiz anlamına gelir. Süreç şöyle görünür:
- Varsayılan WordPress yükleme işlemini izleyin.
- WordPress kurulduktan sonra bir alt dizin oluşturun ve tüm dosyaları web kökünden bu alt dizine taşıyın. Çekirdek dosyaları "gizlemeye" yardımcı olmak için, alt dizine alışılmadık bir ad vermelisiniz, ancak örneğimiz için
wpadında bir alt dizin oluşturacağız ve tüm dosyalarıwpalt dizinine taşıyacağız. - Ardından
index.phpdosyasını alt dizinden web kök dizinine kopyalayın (taşımayın). - Bu yeni kopyalanan dosyada,
wp-blog-header.phpdosyasını gerektiren satırı yeni alt dizine işaret edecek şekilde güncelleyin ve bu dosyayı kaydedin:require __DIR__ . '/wp/wp-blog-header.php';require __DIR__ . '/wp/wp-blog-header.php'; - Son adım, WordPress
optionssiteurldeğerini güncellemektir—
SQL Buddy eklentisi veya phpMyAdmin gibi bir şey kullanarak—örneğin,https://hellfish.media/wpyeni alt dizin kurulumuna işaret etmek için.
3. adımda “kopyala (taşıma)” dediğimizi fark edeceksiniz. Bu önemlidir çünkü WordPress'in kurulum dizininde (bu durumda alt dizinde) bir index.php dosyasına ihtiyacı vardır, aksi takdirde PHP uyarılarının bilgisayarınızda görüntülenmesine neden olur. veya debug.log dosyanızı doldurun.
Bu adımları tamamladığınızda ve tüm temel WordPress dosyalarınız bir alt dizinde olduğunda, sitenizin ön ucuna en üst düzey alan adınızda (örneğin, https://hellfish.media/ ) göz atabileceksiniz. , ancak Gösterge Tablonuza erişmek için alt dizinde wp-admin göz atmanız gerekir (örneğin, https://hellfish.media/wp/wp-admin ). WordPress'in bir sonraki güncellemesinde index.php dosyasının kopyasında yaptığınız değişiklikleri kaybetmekten endişe duyabilirsiniz. Ancak, WordPress yalnızca kurulum dizinindeki, bu durumda alt dizindeki çekirdek dosyaları günceller. Bu nedenle, web kök dizinine kopyaladığınız index.php dosyasını düzenlemek tamamen kabul edilebilir. Web kökünüz biraz daha düzenli ve WordPress çalıştırdığınızı belirlemek biraz daha zor.
Bu size güvenlikte küçük bir artış sağlarken, güvenliği daha da artırmak için daha sonra diğer değişiklikleri inceleyeceğiz.
WordPress'i Bir Alt Dizine Kurmak için WP-CLI Kullanma
Kendi WordPress kurulumlarınızı yönetiyorsanız veya kendi VPS sunucularınız varsa, muhtemelen yukarıdaki işlemi otomatikleştirmek isteyeceksiniz. Neyse ki, bu biraz Bash komut dosyası ve WP-CLI ile mümkündür. Aşağıdaki komut dosyası, belirli bir alt dizindeki çekirdek dosyalarla yeni bir WordPress site kurulumu oluşturmak için WP-CLI'den yararlanır ve esasen yukarıda yaptığımız her şeyi yeniden üretir. Ayrıca, veritabanını zaten oluşturmadığınızı varsayar ve sizin için oluşturur. Mevcut bir veritabanınız varsa işlem çalışmaya devam edecek, ancak veritabanının zaten var olduğunu belirten bir MySQL hata mesajı görüntüleyecektir.
#!/bin/bash # Installation: ## Download the script to your home directory # Make sure it has execute permissions (`chmod +x wp-install-core-sub-dir.sh`). # Install the script in one of the folders in your PATH. (`mv wp-install-core-sub-dir.sh /usr/local/bin/wp-install-core-sub-dir`) #Usage: # $ mkdir mysite # $ cd mysite # $ wp-install-core-sub-dir {sub-directory} {db_name} {db_user} {db_pass} {site_url} "{site_title}" {admin_user} {admin_pass} {admin_email} CORE_DIR=${1-'wp'} DB_NAME=${2-'wordpress'} DB_USER=${3-'root'} DB_PASS=${4-'password'} SITE_URL=${5-'https://wordpress.test'} SITE_TITLE=${6-'WordPress Site in a Subdirectory'} SITE_USER=${7-'admin'} SITE_PASS=${8-'password'} SITE_EMAIL=${9-'[email protected]'} # create the dir for the core files mkdir $CORE_DIR cd $CORE_DIR # download WordPress files wp core download # create the wp-config.php file wp config create --dbname=$DB_NAME --dbuser=$DB_USER --dbpass=$DB_PASS # create the database wp db create # install WordPress (less than 5 mins) wp core install --url=$SITE_URL --title="$SITE_TITLE" --admin_user=$SITE_USER --admin_password=$SITE_PASS --admin_email=$SITE_EMAIL # Copy (not move) index.php file to root cd ../ cp "$CORE_DIR/index.php" ./index.php # Edit index.php to point to correct path of wp-blog-header.php perl -p -i -e "s/\/wp-blog-header/\/$CORE_DIR\/wp-blog-header/g" index.php # Update the siteurl in the database with sub directory path cd $CORE_DIR wp option update siteurl $(wp option get siteurl)/$CORE_DIR # Uncomment the below line if you want the config in root #cp "$CORE_DIR/wp-config.php" ./wp-config.php echo 'Install finished!'
Bu betiği Github'da da görüntüleyebilirsiniz.
WordPress'i Bir Alt Dizine Kurmak için Besteci Kullanma
WordPress projelerini yönetmenin popüler bir yolu, kaynak kontrolü için Git'i ve WordPress çekirdeğini, temayı ve herhangi bir eklentiyi projenizin composer.json dosyasına bağımlılık olarak yüklemek için Composer'ı kullanmaktır.
Sitenizi dağıtmaya hazır olduğunuzda, gerekli tüm bağımlılıklarınızı composer install çalıştıran otomatik bir dağıtım sürecini tetiklersiniz.
johnpbloch/wordpress paketini kullanırsanız, wordpress-core paketini varsayılan olarak wordpress adlı bir alt dizine kuracaktır. Bunu, composer.json dosyanızın extra bölümünde özel bir wordpress-install-dir dizini sağlayarak değiştirebilirsiniz. Ardından, ihtiyacınız olan gerekli alt dizin değişikliklerini çalıştırmak için Composer post-install-cmd olayını kullanabilirsiniz.
{ "name": "polevaultweb/wp-composer-core-sub-dir", "description": "Installing WordPress in a subdirectory with Composer", "require": { "johnpbloch/wordpress": "^5.8" }, "extra": { "wordpress-install-dir": "wp" }, "scripts": { "post-install-cmd": [ "cp wp/index.php ./index.php", "sed -i \"s/\\/wp-blog-header/\\/wp\\/wp-blog-header/g\" index.php" ] } }
Gördüğünüz gibi, bu, daha önce ana hatlarıyla belirttiğimiz alt dizin sürecini çoğaltır. composer install tamamlandıktan sonra, WordPress wp alt dizinine kurulacak, index.php dosyası web köküne kopyalanacak ve wp-blog-header.php yolunu güncellemek için düzenlenecektir.
post-install-cmd olayının yalnızca, bir kilit dosyası mevcutken kurulum komutu yürütüldükten sonra tetiklendiğini belirtmekte fayda var. Kilit dosyası yalnızca ilk oluşturucu composer install çalıştırıldıktan sonra oluşturulduğundan, yerel olarak composer install ilk çalıştırdığınızda alt dizini tetiklemez.
Yukarıdaki Bash betiğinden farklı olarak, bu, wp-config.php dosyasını oluşturmaz veya veritabanı tablolarını oluşturmak için WordPress kurulumunu çalıştırmaz. Bunları, post-install-cmd olayında WP-CLI komutlarını kullanarak veya barındırma sağlayıcınız destekliyorsa dağıtım sonrası komut dosyalarını kullanarak tarayıcınızda manuel olarak yapabilirsiniz.
WordPress Dosya ve Klasör Yapısını Göz önünde bulundurarak
Daha önce de belirtildiği gibi, çekirdek dosyaları bir alt dizine taşımak, küçük bir güvenlik iyileştirmesine izin verir, ancak sitenizin WordPress çalıştırıp çalıştırmadığını belirlemek yine de mümkündür. Bu, dizin yapımızı iyileştirmek ve güvenliği artırmak için yapabileceğimiz diğer değişiklikleri düşünmek için iyi bir zaman olabilir.
Önerimiz, üst düzey veya kök dizin yapınızı aşağıdaki gibi görünecek şekilde yapılandırmanızdır:
/home/username/ conf/ wp-config.php public/ content/ wp/ index.php wp-config.php
WordPress çekirdek dosyalarını bir alt dizine nasıl taşıyacağınızı zaten gösterdik (bu durumda wp ) bu yüzden başka neyi değiştirebileceğimizi ve nedenini görelim.
WordPress Yapılandırma Dosyasını Taşıma
wp-config.php dosyası, veritabanı kimlik bilgilerinizi ve genellikle diğer önemli API veya üçüncü taraf erişim anahtarlarını içerir, ancak bu dosyayı WordPress çekirdek dosyalarınızın geri kalanından farklı bir konuma taşımanın mümkün olduğunu biliyor muydunuz?

Bu dosyayı web kökü veya alt dizin kurulumu dışında bir yere taşımak genellikle çok daha güvenli bir seçim olarak kabul edilir. Bunun nedeni, bazı durumlarda web sunucusundaki sorunların PHP dosyalarını doğru şekilde işlemeyi durdurmasına neden olabilmesidir. Bunun yaygın nedenleri arasında kullanılabilir bellek eksikliği veya web sunucusunun yanlış yapılandırması yer alır. Sebep ne olursa olsun, bu olursa site ziyaretçileri, wp-config.php dosyanızdaki veritabanı kimlik bilgileri de dahil olmak üzere PHP dosyalarının içeriğini görüntüleyebilir.
Aslında, pek çoğu bunun dizin ağacında kök dizinden daha yükseğe yerleştirilmesi gerektiğini tartışacaktır.
Bunu başarmak için, wp-config.php dosyasını sunucuda farklı bir konuma taşıyacaksınız (bizim durumumuzda onu public web kök dizininin hemen üzerindeki conf dizinine taşıyacağız) ve ya yorum yapacak ya da tüm dosyaları sileceksiniz. aşağıdaki satırdan sonra kod:
/* That's all, stop editing! Happy publishing. */
Ardından, genel web kökünde aşağıdaki kodla yeni bir wp-config.php dosyası oluştururuz:
<?php require_once __DIR__ . '/../conf/wp-config.php'; /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';
WordPress, çekirdek dosyaların bulunduğu ana klasörde wp-config.php dosyasını otomatik olarak arayacaktır. Web kökünde özel wp-config.php dosyamızı oluşturarak, çekirdek dosyaları içeren wp klasörünü herhangi bir özel dosyadan temiz tutuyoruz. "true" wp-config.php dosyası, herkesin erişemeyeceği, ancak WordPress'in buna gerek duyabileceği ve veritabanı (ve diğer) kimlik bilgilerinizin daha güvenli olduğu bir konuma taşınır.
WordPress İçerik Klasörünü Taşıma
Bir alt dizindeki WordPress çekirdek dosyalarımızla, wp-content dizinini de taşımayı düşünebiliriz. Temalar, eklentiler ve dosya yüklemeleri (çoğu durumda) çekirdek dosyalardan ayrı olmalıdır. Bu, özellikle proje kaynak kodunuzu yönetmek için Git gibi bir sürüm kontrol yazılımı kullanıyorsanız kullanışlıdır.
WordPress, wp alt wp-config.php dosyasında WordPress'e özgü bazı sabitler ayarlayarak bunu gerçekleştirmemize olanak tanır.
define( 'WP_CONTENT_DIR', dirname( dirname(__FILE__) ) . '/content' ); define( 'WP_CONTENT_URL', 'https://' . $_SERVER['HTTP_HOST'] . '/content' );
Bu yapılandırma, WordPress'e içerik dizinini web kökünde content adı verilen bir dizinde bulmasını beklemesini söyler. Mark Jaquith'in WordPress iskeletinden ilham aldı ve dizin yapımıza uyması için küçük değişiklikler yapıldı. Mark'ın GitHub benioku dosyasında belirttiği gibi, daha temizdir ve içerik dizini artık wp dizini kapsamında değildir.
Bu değişikliği zaten var olan bir sitede yaparsanız, wp-content dizininizin içeriğini ( plugins , themes , uploads vb.) yeni içerik dizinine taşımanız gerekecektir. Ayrıca tüm verileriniz üzerinde Bul ve Değiştir'i çalıştırmanız gerekecektir. Amaç, medya ve varlık dosyalarınızın URL'lerini yeni içerik URL'sine yönlendirecek şekilde güncellemek ve ayrıca kaydedilmiş dosya yollarının artık yeni içerik yolunu işaret etmesini sağlamaktır.
Herhangi bir harici site, medya veya varlıklarınızdan herhangi birine bağlantı veriyorsa, bu bağlantıların 404 hatası vermemesi için bir yol yönlendirmesi ayarlamak isteyeceksiniz. Bu, eşleşen bir ^/wp-content/(.*) dizesiyle regex kullanarak bir yol yönlendirmesi ayarlayarak ve yeniden yönlendirme dizesini /content/$1 olarak ayarlayarak elde edilebilir. En iyi performans için bu yönlendirmeyi web sunucusu düzeyinde ayarlamanızı öneririz. SpinupWP kullanılıyorsa, bu, Yol Yönlendirmeleri ekranı aracılığıyla yapılabilir:

Web sunucusu düzeyinde bir yönlendirme ayarlayamıyorsanız, bir sonraki en iyi şey Yeniden Yönlendirme eklentisidir.
Kök Kurulumunu Alt Dizin Kurulumuna Dönüştürme
Yeni bir site başlatırken WordPress çekirdek dosyalarını yüklemek yeterince basittir, ancak mevcut bir kök yüklemeyi bir alt dizin yüklemesine dönüştürmek biraz özen gerektirir. Bu sadece web kökünüzde bir alt dizin oluşturmak ve tüm WordPress dosyalarını oraya taşımak değildir. Ayrıca, veritabanında saklanan ve kök kurulum dizininize işaret eden tüm URL'leri veya yolları da hesaba katmanız gerekir. Bunun ayrıntılarını Alt Dizine Yüklenen WordPress Çekirdeği yardım belgesinde ele alıyoruz, ancak basit bir örneğe bakalım.
WordPress kök kurulumu olarak https://hellfishmedia.test yerel bir site kurdum.

Ayrıca, sayfa içeriğinde bir resim ve bir İletişim sayfasına bir bağlantı içeren site ana sayfası olarak hizmet edecek çok basit bir sayfa oluşturdum.

Adım 1: Sitenizi Hazırlayın
Bu, yayında olan bir siteyse, siteyi bozabilecek değişiklikler yaparken bir bakım mesajı göstermek iyi bir fikirdir. Bunun için WP Bakım Modu eklentisini öneriyoruz. Yükleyin, eklenti ayarlarında bakım modunu etkinleştirin ve kullanıcılarınız kısa kesinti süresi hakkında bilgi veren bir mesaj görecektir.

Ön uç kullanıcılar yalnızca bakım sayfasını görecek, ancak yine de https://hellfishmedia.test/wp-admin/ üzerinden WordPress panosuna erişebiliriz.
2. Adım: Veritabanını Güncelleyin
Örneğimiz için, WordPress'i yeni bir /wp alt dizinine taşıyacağız, bu nedenle veritabanını bu değişikliği yansıtacak şekilde güncellemeniz gerekiyor – ancak yalnızca buna ihtiyaç duyan URL'ler için.
Yalnızca tema veya eklenti klasörlerinde bulunan resim dosyalarına ve varlıklara yapılan referanslar konusunda endişelenmeniz gerekir. Bunların tümü, varsayılan olarak /wp-content altında veya yapılandırdıysanız özel bir içerik yolu altında bulunur. Bu nedenle, değiştirmeniz gereken URL'leri ve dosya yollarını hedeflemek için içerik yolunu kullanabilirsiniz. İçeriğiniz için daha önce açıkladığımız gibi farklı bir konum yapılandırdıysanız, bunu eşleştirmek için ince ayar yapmanız gerekebilir.
Bu, WP-CLI search-replace komutu, Better Search Replace veya WP Migrate DB dahil olmak üzere herhangi bir uygun bul ve değiştir aracı kullanılarak mümkündür. Amaçlarımız için WP Migrate DB Pro'nun Bul ve Değiştir aracını kullanacağız.
Örnek sitemizde, //hellfishmedia.test/wp-content //hellfishmedia.test/wp/wp-content bulmak ve onu //hellfishmedia.test/wp-content ile değiştirmek ve /home/iain/development/websites/hellfishmedia/wp-content bulmak isteyeceğiz. /home/iain/development/websites/hellfishmedia/wp-content ve URL'leri ve dosya yollarını güncellemek için /home/iain/development/websites/hellfishmedia/wp/wp-content ile değiştirin. Test uğruna, site başlığını da değiştiriyoruz. WP Migrate DB Pro'da bunun nasıl görüneceği aşağıda açıklanmıştır:

WP Migrate DB Pro Bul ve Değiştir aracının harika yanı, değişiklikleri çalıştırmadan önce önizleyebilirsiniz.

Eklentinin hangi güncellemeleri yapacağını tablo bazında da inceleyebilirsiniz.
Bul ve değiştir'i çalıştırdığınızda ve herhangi bir sayfa içeriğine göz attığınızda, İletişim sayfasına giden bağlantıların alt dizini içermemesine rağmen, gömülü görüntünün şunları yaptığını göreceksiniz:

Bir sonraki adımınız, “Genel Ayarlar” sayfanızdaki “WordPress Adresi (URL)” ayarını alt dizini içerecek şekilde güncellemektir. Bunu, WordPress yöneticinizde Ayarlar > Genel'e giderek ve "WordPress Adresi (URL)" alanına alt dizini ekleyerek yapabilirsiniz. Bu, siz bu işlemin geri kalanını tamamlayana kadar sitenizin arka ucunu kıracaktır, bu nedenle bir süreliğine erişmeniz gerekmediğinden emin olun.

Değişikliği kaydettikten sonra, WordPress yönetici panonuz size bir "Sayfa bulunamadı" hatası gösterecek ve bakım sayfanız tüm stilini kaybedecektir. Bunun nedeni, WordPress'in hala tüm yönetici ve varlık dosyalarını https://hellfishmedia.test/wp/ altında aramasıdır, ancak bunlar mevcut değildir.
Adım 3: WordPress Dosyalarını Alt Dizine Taşıma
Bakım sayfası bu noktada hoş görünmese de, en azından site kullanıcılarınıza bakım mesajını gösterir. Ne yazık ki, dosyaları web kökünden doğru alt dizine taşımanız gerektiğinden, bu bir sonraki adımda bozulacak. Örneğimiz için aşağıdakileri yapacağız:
- Web kökünde
wpalt dizinini oluşturun. - Her şeyi web kökünden
wpdizinine taşıyın. -
index.phpdosyasını ve.htaccessdosyasını/wpweb kök dizinine kopyalayın (taşımayın).
Bunu yerel dosya yöneticiniz veya uzak bir sunucuysa bir FTP istemcisi aracılığıyla yapabilirsiniz.
Alternatif olarak, terminali tercih ederseniz, komutlar şöyle görünür:
cd ~/development/websites/hellfishmedia mkdir wp mv * .* wp/ cp wp/index.php . cp wp/.htaccess .
Bu, bakım sayfasının bir hata göstermesine neden olur.
Warning: require(/home/iain/development/websites/hellfishmedia/wp-blog-header.php): Failed to open stream: No such file or directory in /home/iain/development/websites/hellfishmedia/index.php on line 17 Fatal error: Uncaught Error: Failed opening required '/home/iain/development/websites/hellfishmedia/wp-blog-header.php' (include_path='.:/usr/share/php') in /home/iain/development/websites/hellfishmedia/index.php:17 Stack trace: #0 {main} thrown in /home/iain/development/websites/hellfishmedia/index.php on line 17
Son adım, bu kılavuzun hemen başında size gösterdiğimiz gibi, web kökündeki index.php dosyasındaki require ifadeyi yeni alt dizinin yolu ile güncellemektir. Dosyayı kod düzenleyicinizde düzenleyin ve satırı şu şekilde görünecek şekilde güncelleyin:
require __DIR__ . '/wp/wp-blog-header.php';
Alternatif olarak, bir terminal komutu çalıştırmayı tercih ederseniz, daha önce WP-CLI betiğimizin kullandığı perl komutunu kullanabilirsiniz:
perl -p -i -e "s/\/wp-blog-header/\/wp\/wp-blog-header/g" index.php
Kök kurulumunuz şimdi tamamen bir alt dizin kurulumuna dönüştürülmelidir. Bu fırsatı tüm içeriğinizi kontrol etmek, her şeyin çalıştığından ve resimlerin beklediğiniz gibi göründüğünden emin olmak için kullanmalısınız.
Ayrıca, kalıcı bağlantılarınızı kaydedip temizlemek için panonuza giriş yapmak ve Ayarlar > Kalıcı Bağlantılar'a gitmek de iyi bir fikirdir.
Unutulmaması gereken son bir şey, burada kurduğumuz örnek sitenin çok fazla eklentisi veya özel bir teması olmamasıdır. Bu yönler, kök ve alt dizin kurulumları arasında dönüştürme yaparken ek karmaşıklıklar ekleyebilir. Bu nedenle, siteyi bir yükleme türünden diğerine dönüştürdükten sonra iyice test ettiğinizden emin olmanızı öneririz.
Alt Dizin Kurulumunu Kök Kuruluma Dönüştürme
Tüm WordPress sitelerinizi alt dizin yüklemeleri olarak çalıştırmaya tamamen dönüştürdüyseniz, kök yükleme olan canlı bir istemci sitesiyle çalışmanız gereken bir durumla karşılaşabilirsiniz. WP Migrate DB Pro gibi bir araç kullanırsanız, bir alt dizin kurulumundan bir kök kurulumuna geçiş yapmak mümkün değildir. Bu, yerel bir geliştirme veya hazırlama sitesini canlı siteye taşımadan önce kök yüklemeye dönüştürmeniz gerekebileceği anlamına gelir. URL'ler ve yollar zaten dönüştürme yaptığınız alt dizin yolunu kullandığından, bir alt dizin kurulumunu bir kök kuruluma dönüştürmek neredeyse her zaman tersinden daha kolaydır. Bunu yapmak için, ideal olarak minimum kesinti süresi ile hem veritabanını hem de dosya yapısını güncellemeniz gerekir.
Yerel bir site https://hellfishmedia.test , WordPress wp adlı bir alt dizine yüklendi.

Ayrıca, sayfa içeriğinde bir resim ve bir İletişim sayfasına bir bağlantı içeren site ana sayfası olarak hizmet edecek çok basit bir sayfa oluşturdum.

Adım 1: Sitenizi Hazırlayın
Siteyi dönüştürmek bazı veritabanı değişiklikleri gerektirecektir, ancak bunu yapmadan önce wp-admin hala erişebildiğinizden emin olmak isteyeceksiniz. Bunu başarmak için wp-config.php dosyasında site URL'sini ve ana sayfa URL değerlerini tanımlayın. Bu, wp_options tablosundaki siteurl ve home ayarlarını geçersiz kılar ve WordPress panosuna erişiminizi kaybetmenizi engeller.
// The URL where the WordPress application files are accessible define( 'WP_SITEURL', 'https://hellfishmedia.test/wp' ); // URL where the front end is accessible define( 'WP_HOME', 'https://hellfishmedia.test' );
Alt dizin sitesi yayındaysa, siteyi bozabilecek değişiklikler yaparken bir bakım mesajı göstermek iyi bir fikirdir. Bunun için WP Bakım Modu eklentisini öneriyoruz. Yükleyin, eklenti ayarlarında bakım modunu etkinleştirin ve kullanıcılarınız bozuk bir site yerine kısa bir kapalı kalma süresi hakkında bilgi veren bir mesaj görecektir.

Ancak yine de https://hellfishmedia.test/wp/wp-admin/ kullanarak kontrol panelini ziyaret edebiliriz.
Bir sonraki adım, veritabanını güncellemektir.
2. Adım: WordPress Veritabanını Güncelleyin
Artık alt dizine yapılan tüm referansları kaldırmak için veritabanını güncelleyebilirsiniz. Bu, WP-CLI search-replace komutu, Better Search Replace veya WP Migrate DB dahil olmak üzere herhangi bir uygun bul ve değiştir aracı kullanılarak mümkündür. Amaçlarımız için WP Migrate DB Pro Bul ve Değiştir aracını kullanacağız.
Başlamak için, alt dizin ( //hellfishmedia.test/wp ) dahil olmak üzere kaynak site URL'sini ararız ve onu alt dizini ( //hellfishmedia.test ) hariç tutan URL ile değiştiririz. Ayrıca /home/iain/development/websites/hellfishmedia/wp /home/iain/development/websites/hellfishmedia iain/development/websites/hellfishmedia'ya tüm fiziksel yolları güncellemek istiyoruz. Ayrıca tanıtım amacıyla site başlığını da güncelliyoruz:

Daha önce bahsettiğimiz gibi, WP Migrate DB Pro'nun Bul ve Değiştir aracı, değişiklikleri çalıştırmadan önce önizlemenizi sağlar.

Eklentinin hangi güncellemeleri yapacağını tablo bazında bile inceleyebilirsiniz. Burada, Ana sayfam için wp_posts tablosundaki resim bağlantısının ve resim eki için GUID'nin güncelleneceğini onaylayabilirim. GUID'i güncellemek istemiyorsam, bunu ayarlarda değiştirebilirim. Bu durumda GUID'i değiştirmek mantıklıdır.

Bul ve değiştir komutunu çalıştırdıktan sonra herhangi bir değişiklik fark etmeyebilirsiniz. Ön uç, bakım sayfasını göstermeye devam ederken, arka uç, sabit kodlanmış sabitler nedeniyle çalışmaya devam edecektir.
Ancak, bazı gönderi içeriğine bakarsanız, resimlerin bozuk olduğunu ve dahili bağlantıların artık alt dizinden yoksun olduğunu fark edeceksiniz. İşte Blok Düzenleyici'deki ana sayfa:

Bunu düzeltmek için yapmamız gereken son bir adım var.
Adım 3: WordPress'i Alt Dizinden Çıkarma
Son adımınız, alt dizindeki tüm dosyaları sitenizin genel web kök dizinine manuel olarak taşımaktır.
Dosyaları yerel dosya yöneticinize sürükleyip bırakırsınız veya uzak bir sunucuda çalışıyorsanız bir FTP istemcisi kullanırsınız. Ancak, index.php dosyasının üzerine yazma seçeneğini belirlediğinizden emin olun:

Dosyaların üzerine kopyaladıktan sonra wp alt dizinini silebilirsiniz.
Bunu komut satırında da yapabilirsiniz, ancak siteniz uzak bir sunucudaysa önce sunucuya SSH yapmanız gerekir. Bu durumda, daha önce bul ve değiştir özelliğini çalıştırdığımız yerel hellfishmedia çalışıyorum.
cd ~/development/websites/hellfishmedia rm index.php cp -R wp/. . rm -rf wp
Son parça, wp-config.php WP_SITEURL ve WP_HOME sabitlerini kaldırmak ve ardından sitenizi test etmektir.
WordPress kontrol panelinize giriş yapmak ve Ayarlar > Kalıcı Bağlantılar'a gitmek de iyi bir fikirdir. Burada, kalıcı bağlantıları temizlediğinizden ve URL'lerinizin hala çalıştığından emin olmak için Değişiklikleri Kaydet düğmesini tıklayın.
Toplama
Umarım, kök kurulumlarınızı alt dizin kurulumlarına geçirmeyi düşünmeniz için yeterli bilgiyi ve bunun için gerekli araçları vermişizdir. Modern, Besteci tabanlı bir seçenek arıyorsanız, WordPress'i bir bağımlılık olarak yükleme fikrini tamamen yeni bir düzeye taşıyan SpinupWP spinupwp-besteci-site paketimizle benzer bir yapı kullanmayı düşünebilirsiniz.
WordPress kurulumlarınızı bir alt dizinde mi çalıştırıyorsunuz? WordPress dizin yapınızı yönetmek için hangi iş akışlarını kullanıyorsunuz? WP Migrate DB Pro'nun kök ve alt dizin arasındaki geçiş sürecini daha basit hale getirmek için daha fazlasını yapması gerektiğini düşünüyor musunuz? Aşağıdaki yorumlar bölümünde düşüncelerinizi bize bildirin!
ev borcu WordPress sitesi