WordPress olmayan alt dizinlere erişilemediğinden wordpress 404 hatasıyla geçersiz kılar


34

Önceden sorulan ve uygun şekilde yanıtlanmayan bu soruya atıfta bulunuyorum: Wordpress geçersiz kılma geçersiz alt dizinleri ve ayrıca "Wordpress" olmayan sayfalar / kod 404 hatası alıyor

Aynı sorunu yaşıyorum ve internette bulduğum hemen hemen her şeyi denedim. Kesinlikle WordPress'te permakinlerin açılmasıyla ilgili. Ancak, alt dizine yeni bir .htaccess dosyası koydum:

RewriteEngine kapalı

ve sorun hala var. Wordpress .htaccess dosyasını tamamen silsem bile sorun hala mevcut.

Ben de böyle / mysubdirectory ErrorDocument 401 "Yetkisiz erişim" ve ErrorDocument 404 "Yetkisiz erişim" ve Yönlendirme 301 gibi diğer bazı önerilen çözümleri denedim http://www.mydomain.com/mysubdirectory/index.html çeşitli yerlerde tüm boşuna .

Birisi lütfen başka bir çözüm önerebilir mi? Bunu düzeltebilmemin tek yolu, kalıcı bağlantıları kapatmak ama açık olmalarına ihtiyacımız var.

Teşekkürler,

Nicole


WordPress kök klasöründe index.php'yi index.bak olarak yeniden adlandırırsanız ne olur? Dizin hala erişilebilir değil mi?
Horttcore

Alt klasörünüzdeki temel URL'yi yeniden tanımlamayı denediniz mi? .Htaccess (değer için bu alt klasörle birlikte)?
Cédric G

Yanıtlar:


28

WordPress'i site kökünüze koyduğunuzu ve dış dizinlerin de site kökünüzün içinde olduğunu varsayıyorum. Bunun olmasının nedeni .htaccess dosyalarının hiyerarşiyi izlemesidir. Üst düzey .htaccess dosyasındaki yönergeler ne olursa olsun aşağı akar ve altındaki tüm dizinlere uygulanır.

Bu durumda, birkaç şeyden birini yapabilirsiniz:

  1. WordPress'inizi kendi dizinine taşıyın. Bkz: http://codex.wordpress.org/Moving_WordPress o WordPress yeniden yazma kurallarının diğer dizinleri etkileyemez diğer dizinleri olarak sunucu dizin hiyerarşisindeki aynı seviyede olmasını sağlayacak şekilde, kendi dizinine WordPress taşırsanız.

  2. RewriteEngine Off - bu normalde işe yarar. Çalışmıyorsa, bir joker DNS ayarı kullanmadığınızdan emin olun. DNS ayarlarınızda web sunucunuzu gösteren bir joker karakter * ana makine adı kaydınız varsa .htaccess ve alt etki alanlarına neden olabilir.

  3. Sitenizin kök dizinindeki .htaccess dosyasına, aşağıdaki YUKARI WordPress .htaccess yönergelerini ekleyin:

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

Bunlardan biri sizin için çalışmalı.


17

Bu, benzer bir durum için geçmişte benim için çalıştı:

Bunu üstüne koy .htaccess

ErrorDocument 401 default

2
Teşekkürler! Çok şey denedim, ama bu benim durumum için çalışan tek çözüm: şifre korumalı alt dizin
Rado

2
Benim için de çalıştı, ne işe yaradığına ve neden işe yaradığına dair herhangi bir açıklama yaptınız mı?
Asaf

Bu benim için çalışıyor .. wordpress değil OpenCart kullanarak ve aynı problemi yaşıyor. Bir açıklama gerçekten çok yardımcı olacaktır.
billynoah

4

dosyalarımı aynı sunucuya kopyaladığımda ancak farklı alt dizin klasörüyle kopyaladığımda sayfalarıma erişmeye çalıştığımda index.php düzgün çalışıyor ancak diğer sayfalar çalışmıyor ve bana 404 hatası veriyorlar. Kötü ingilizcem için üzgünüm !!

Sadece htaccess orjinaline bakıyorum:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
Yeniden Yazma Kuralı. /index.php [L]

# END WordPress

ve yenisini koymak

# BEGIN WordPress

RewriteEngine On
RewriteBase / alt dizin klasörü
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
Yeniden Yazma Kuralı. /subdirectoryfolder/index.php [L]

# END WordPress

Merhaba @lizette. WPSE forumlarına hoş geldiniz. Formatlamanın burada nasıl çalıştığını kontrol etmek isteyebilirsiniz .
Pothi Kalimuthu 21:12

4

Görüyorum ki bu konu birkaç aylık, ama işe yaramadıysan diye!

Benzer bir sorun yaşadım, ancak benim sorunum wordpress kurulumunun root içindeki klasörlere (WP kurulum dizininin dışında) URL erişimini engelleyen alt dizinde bulunmasıydı, ancak sadece permalink'ler etkinken. Bunu çözmek için, hem index.php hem de .htaccess'i kopyaladım (kopyalamayın) WP kurulumunun bulunduğu alt dizinden kopyaladım ve ikisini de public_html kök dizinine (ya da WP kurulumunun dışına erişmeye çalıştığınız alt dizine) yerleştirdim. dizin). .Htaccess dosyası, zaten kalıcı bağlantılar için yeniden yazma koşullarına sahiptir:

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

Yenileme için kalıcı bağlantıları etkinleştir ve tüm sorunları çözdü. Geçmişte sorunlara neden olduğu için kök klasörler için izinlerinizin doğru ayarlandığından emin olun.


3

Htaccess devre dışı bırakılmış halde hala 404'leri alıyorsanız ve yolları doğruladıysanız ve dosyaların orada olduğunu biliyorsanız, geriye kalan tek seçenekiniz bu üç ...

Seçenekler ...

  1. Sunucu büyük / küçük harf duyarlı bir işletim sistemi çalıştırıyor olabilir. Bu, bir yola yazıyorsanız ve tam karakterleri ve kasayı kullanmamanız durumunda işe yaramayacak demektir.
  2. İzinler: Dosya veya klasörde veya ana klasörde yanlış izinler olabilir. Dosyalar, klasörler ve üst klasörlerdeki izinleri 755 olarak değiştirmeyi deneyin. Eğer ona ssh (terminal) erişimi varsa, o zaman kökünüze gidin ve bu "chmod -R 755 mydir" i çalıştırın ve bu, hepsi için izinleri tekrarlı olarak ayarlayacaktır.
  3. Tüm bunlardan sonra hala bir sorununuz varsa, o zaman bir server config probleminiz olur (muhtemelen Apache). Bunun için barındırma sağlayıcınızla konuşmanız gerekir.

Bunların hiçbiri işe yaramazsa, yeni bir ana bilgisayara ihtiyacınız vardır.


2

Neredeyse htaccess düzenleme saçımı koparma sonunda nihayet WordPress için işe yarayacak bir çözüm buldum.

WordPress'in yüklü olduğu kök dizine bir kod yazıcısı komut dosyası yükledikten sonra bu sorunu yaşadım.

Burada listelenen tüm püf noktaları denedikten sonra hala yeni komut dosyasıyla ilişkili sayfalarda 404 hata ile karşılaşıyordum.

WordPress htaccess'in betiğin htaccessini desteklediğini belirtti. Ayrıca, aynı dizindeki diğer WordPress kurulumlarının bu 404 hatasının olmadığını not ettim.

Ben sadece htaccess aynı sunucu dizinde yeni WordPress kurulumundan kabul ve komut dosyası bulunduğu klasöre ekledim. İşte nasıl göründüğü:

<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>

Alt dizinin adını dizininizle değiştirin ve bu htaccess dosyasını komut dosyanızın bulunduğu klasörün içine yerleştirin.

Örnek: Site buraya kurulursa

public_html/

ve yeni klasör

`public_html/example`

Yukarıdaki htaccess'i kopyalayın ve 'example' klasörüne kaydedin.


1

Buradaki yanıtlara, benzer bir sorunla karşılaştığım gibi birkaç kez baktım. Erişmeye çalıştığımda 404 hatası atan bir alt dizinde dosyalarım var. .Htaccess işleri onu düzeltemedi, Kirsten Douglas'ın dediği gibi, Wordpress zaten işi yapıyor.

Çözümüm

Sunucudaki error_log dosyasını kontrol ettikten sonra bu makaleyi buldum . Senaryolar için yanlış kullanıcı kimliği hakkında bir mesaj alıyordum. Ayrıca 404'ün dosya yüzünden atılmadığını, ancak sunucunun 500.html dosya sunamadığını, yani 500 hatası aldığımı fark ettim.

Dosyaları kök olarak oluşturduğumu ve mülkiyeti web siteleri sahibine değiştirmem gerektiği ortaya çıktı.

Umarım bu aynı sorunu yaşayan başkalarına yardımcı olur!


0

RewriteCondAlt klasörünüzdeki istekler için WordPress kurallarının göz ardı edilmesini sağlayacak bir yönerge ekleyebilmeniz gerekir .

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

Ancak, WordPress olmasa bile .htaccesssorunu yaşadığınızı söylüyorsunuz ? Alt dizininizin içeriği nedir .htaccess?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.