Wordpress: κατάργηση καταλόγου από τον κανόνα επανεγγραφής url από .htaccess

Πώς να αποκτήσετε απευθείας πρόσβαση σε έναν κατάλογο στη ρίζα του διακομιστή φιλοξενίας, αν WordPress έχει ρυθμιστεί να λειτουργεί ως φιλικές διευθύνσεις URL?

Htaccess

Το πρόβλημα

Όλοι γνωρίζουμε ότι όταν θέλετε να αποκτήσετε πρόσβαση σε έναν κατάλογο στη ρίζα του διακομιστή, Απλώς τοποθετήστε τον τομέα ακολουθούμενο από το όνομα ενός τέτοιου καταλόγου. Έτσι, για παράδειγμα, Εάν ο κατάλογος καλείται “Προσθήκες”, αποκτάτε πρόσβαση σε αυτό μέσω διεύθυνσης http://taylorlopes.com/uploads.

Το πρόβλημα είναι ότι κατά τη ρύθμιση του WordPress (ή οποιοδήποτε άλλο σύστημα) με φιλική διεύθυνση URL, τι ήταν κάποτε μια σελίδα που ονομάζεται Επαφές με διεύθυνση URL http://taylorlopes.com/?page_id=2, τυχαίνει να είναι κάτι σαν http://taylorlopes.com/contatos. Σημειώστε ότι αυτός ο νέος τρόπος κλήσης της διεύθυνσης URL (υπαγορεύεται φιλικό), μοιάζει με την κλήση ενός καταλόγου, όντας ότι Επαφές Στην πραγματικότητα δεν είναι κατάλογος, αλλά μόνο μία σελίδα.

Σύντομα, Από τη στιγμή που αποφασίζετε να χρησιμοποιήσετε τη φιλική διεύθυνση URL, καθίσταται αδύνατη η κλήση ενός καταλόγου, pois o WordPress interpreta isso como sendo uma chamada a uma página, que obviamente não existe, e lança o erroOPS! Essa página não pode ser encontrada“. Έτσι, como fazer para chamar um diretório sem que o WordPress interprete essa chamada como sendo a uma página?

Λύση

Para resolver esse problema e conseguir acessar diretamente um diretório na raiz do servidor sem que o WordPress interprete-o como uma página, abra o arquivo .Htaccess e adicione a seguinte linha logo abaixo da primeira instrução RewriteRule, trocandomydirpelo nome do seu atual diretório:

Código parcial

RewriteCond %{REQUEST_URI} !^/(mydir|mydir/.*)$

Código completo

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(mydir|mydir/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.PHP [L]
</IfModule>
# END WordPress

Σημείωση:

O .Htaccess fica na raiz do diretório onde o conteúdo Web é publicado, como por exemplo no diretório /Www (wampserver) ou no /Htdocs, Χτντόκς (xampp).

Redirecionamento

A ideia aqui é fazer com que um Post (página) responda por duas URL amigáveis, με αυτόν τον τρόπο, quando alguém digitar http://taylorlopes.com/about (a página about não existe) seja feito um redirecionamento para http://taylorlopes.com/sobre (página sobre existe). Use o .Htaccess para fazer o redirecionamento:

Código parcial

Redirect /about /sobre

Código completo

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(util|util/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Redirect /about /sobre
RewriteRule . /index.PHP [L]
</IfModule>
# END WordPress

Fonte

Wordpress: Exclude directory from URL rewrite with .htaccess

Σύνολο επισκέψεων: 8273

Αφήνω μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα απαιτούμενα πεδία σημειώνονται με *