
problema
Todos sabemos que cando se quere acceder a un directorio na raíz do servidor, Basta pór o dominio seguido do nome do tal directorio. entón, por exemplo, se o directorio chama-se “subidos”, accede el polo enderezo http://taylorlopes.com/uploads.
O problema é que ao configurar o WordPress (ou calquera outro sistema) con URL amigables, O que antes era unha páxina chamada contactos cunha URL http://taylorlopes.com/?page_id = 2, pasa a ser algo así como http://taylorlopes.com/contatos. Teña en conta que esta nova forma de chamar a URL (dita agradable), aseméllase a chamada dun directorio, sendo que contactos en realidade non é un directorio, pero só unha páxina.
Logo, Desde o momento que decide empregar URL amigables queda imposible chamar un directorio, pois WordPress interpreta iso como unha chamada a unha páxina, que obviamente non existe, e lanza o erro “Ops! Esta páxina non se pode atopar“. entón, como facer para chamar un directorio sen que o WordPress interprete esta chamada como a unha páxina?
Resolución
Para solucionar este problema e conseguir acceder directamente un directorio na raíz do servidor sen o WordPress interprete o como unha páxina, Abre o arquivo .htaccess e engade a seguinte liña debaixo da primeira instrución RewriteRule, trocando “mydir” polo nome do seu actual directorio:
subcódigo
RewriteCond %{REQUEST_URI} !^/(mydir|mydir/.*)$ |
código completo
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^ índice .php $ - [L] RewriteCond %{REQUEST_URI} !^/(mydir|mydir/.*)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /Índice.php [L] </IfModule> # END WordPress |
observación:
O .htaccess queda na raíz do directorio onde o contido web publícase, como por exemplo no directorio /www (wampserver) ou no /htdocs (XAMPP).
redirección
A idea aquí é facer que un Post (Páxina) responda por dúas URL amigables, deste xeito, cando alguén escriba http://taylorlopes.com/about (unha páxina sobre non existe) sexa feito unha redirección para http://taylorlopes.com/sobre (Páxina en alí). Use o .htaccess para facer a redirección:
subcódigo
redirect /sobre /en |
código completo
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^ índice .php $ - [L] RewriteCond %{REQUEST_URI} !^/(útil|útil/.*)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d redirect /sobre /sobre RewriteRule . /Índice.php [L] </IfModule> # END WordPress |
fonte
WordPress: Eliminar directorio de URL reescrita con .htaccess