No se puede acceder a subdirectorios que no son de wordpress ya que wordpress los anula con un error 404
-
-
¿Qué sucede si cambiaelnombre deindex.php aindex.baken la carpeta raíz de WordPress?¿Aúnno sepuede acceder al directorio?What happens if you rename the index.php to index.bak in the WordPress root folder? Is the directory still not accessible?
- 0
- 2011-06-16
- Horttcore
-
¿Haintentado redefinir la URLbaseen su subcarpeta .htaccess (conesta subcarpetapor valor)?Have you tried to redefine the base url in your sub-folder .htaccess (with this sub-folder for value) ?
- 0
- 2011-08-05
- Cédric G
-
8 respuestas
- votos
-
- 2011-06-17
Supongo que coloca WordPressen la raíz de su sitio y los directoriosexternostambiénestánen la raíz de su sitio. La razónpor la queesto sucedees que los archivos .htaccess siguen unajerarquía. Cualquier directiva queestéen el archivo .htaccess denivel superiorfluye hacia abajo y se aplica atodos los directorios debajo de él.
Siesteesel caso,puede hacer una de varias cosas:
-
Mueva su WordPress a supropio directorio. Ver: http://codex.wordpress.org/Moving_WordPress Simueve WordPress a supropio directoriopara queesté almismonivelen lajerarquía de directorios de su servidor que los otros directorios,las reglas de reescritura de WordPressnopueden afectar a los otros directorios.
-
RewriteEngine Off:estonormalmentefuncionaría. Sinofunciona,compruebe quenoesté utilizando una configuración de DNS comodín. Sitiene un registro denombre de host comodín * apuntando a su servidor weben su configuración de DNS,puede causarestragos con .htaccess y subdominios.
-
Enel archivo .htaccessen la raíz de su sitio,agregue lo siguiente SOBRE las directivas .htaccess de WordPress:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L] </IfModule>
Uno deestos deberíafuncionarpara usted.
I'm assuming that you put WordPress in your site root and the external directories are also in your site root. The reason this is happening is that .htaccess files follow a hierarchy. Whatever directives are in the top-level .htaccess file flow down and apply to all directories below it.
If this is the case, you can do one of several things:
Move your WordPress into its own directory. See: http://codex.wordpress.org/Moving_WordPress If you move WordPress into its own directory so that it is on the same level in your server directory hierarchy as the other directories the WordPress rewrite rules cannot affect the other directories.
RewriteEngine Off - this would normally work. If it isn't working check that you are not using a wildcard DNS setting. If you have a wildcard * hostname record pointing at your web server in your DNS settings it can cause havoc with .htaccess and subdomains.
In the .htaccess file in your site root, add the following ABOVE the WordPress .htaccess directives:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L] </IfModule>
One of these should work for you.
-
-
¡Gracias!Heintentadomuchas cosas,peroestaes la única solución quefuncionóparami caso: subdirectorioprotegidopor contraseñaThanks! I've tried so many things, but this is the only solution that worked for my case: password-protected subdirectory
- 3
- 2013-03-06
- Rado
-
Tambiénfuncionóparamí,¿algunaexplicación sobre lo que hace ypor quéfunciona?Worked for me too, any explanation as to what it does and why it works?
- 2
- 2013-08-10
- Asaf
-
Estofuncionaparamí ...no uso wordpress sino OpenCart ytengoelmismoproblema.Unaexplicación sería degran ayuda.This works for me.. not using wordpress but OpenCart and having the same problem. An explanation would be really helpful.
- 0
- 2014-08-28
- billynoah
-
-
- 2012-05-25
Veo queeste hilotiene algunosmeses de antigüedad,¡peropor si acasonofunciona!
Tuve unproblema similar,peromi problemafue que lainstalación de wordpressestaba ubicadaen el subdirectorio queimpedíael acceso URL a las carpetas dentro de la raíz (fuera del directorio deinstalación de WP),pero solo cuando losenlacespermanentesestaban habilitados. Para resolveresto,copiéindex.php y .htaccess (copiar,nomover) del subdirectorio donde seencuentra lainstalación de WP y los coloquéen la raízpublic_html (oen cualquier subdirectorio al queestéintentando accederfuera de lainstalación de WP directorio). El archivo .htaccess yatiene las condiciones de reescriturapara losenlacespermanentes:
RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Habilite losenlacespermanentespara actualizar y resolviótodos losproblemas. Asegúrese de que suspermisospara las carpetas raíztambiénestén configurados correctamente,ya queestome ha causadoproblemasen elpasado.
I see this thread is a few months old, but just in case you never got it to work!
I had a similar issue, but my problem was that the wordpress install was located in the subdirectory which prevented URL access to folders within the root (outside the WP install directory), but only when permalinks were enabled. To solve this, I copied both index.php and .htaccess (copy not move) from the subdirectory where the WP install is located and placed them both in the root public_html (or whatever subdirectory that you're trying to access outside the WP install directory). The .htaccess file has the rewrite conditions for permalinks already:
RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Enable permalinks for refresh and it solved all issues. Make sure your permissions for the root folders are set correctly too as this has caused me problems in the past.
-
- 2012-09-13
cuando copiomis archivosen elmismo servidorpero con una carpeta de subdirectorio diferente,así que cuandointenté acceder amispáginas,index.phpfuncionabien pero las otraspáginasno loestán yme da unerror 404.¡¡Perdónpormi malinglés !!
Solomiroen mi htaccessel original:
# COMIENZO WordPress RewriteEngine On RewriteBase/ RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule./index.php [L] # FIN WordPress
yponelnuevo con
# COMIENZO WordPress RewriteEngine On RewriteBase/subdirectoryfolder RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule./subdirectoryfolder/index.php [L] # FIN WordPress
when i copy my files into the same server but with different subdirectory folder so when i tried to access my pages, index.php is working fine but the other pages are not and giving me a 404 error. Sorry for my bad english!!
I just look into my htaccess the original:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
and put the new one with
# BEGIN WordPress RewriteEngine On RewriteBase /subdirectoryfolder RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /subdirectoryfolder/index.php [L] # END WordPress
-
Hola @lizette.Bienvenido a losforos de WPSE.Esposible que desee comprobar [cómofuncionaelformateo] (http://stackoverflow.com/editing-help) aquí.Hi @lizette. Welcome to WPSE forums. You may want to check out [how formatting works](http://stackoverflow.com/editing-help) here.
- 0
- 2012-09-21
- Pothi Kalimuthu
-
- 2011-06-17
Sitodavía recibe 404 conel htaccess desactivado y ha verificado las rutas y sabe que los archivosestán allí,entonces sus únicas opciones sonestastres ...
Opciones ...
- Esmuyposible queel servidorestéejecutando un sistema operativo que distingueentremayúsculas yminúsculas.Lo que significa que siestáescribiendo una ruta ynoestá usando los caracteresexactos yen mayúsculas simplementenofuncionará.
- Permisos:esposible quetengapermisosincorrectosen el archivo o carpeta oen una carpetaprincipal.Intente cambiar lospermisos a 755en los archivos,carpetas y carpetasprincipales.Sitiene acceso ssh (terminal),vaya a su raíz yejecuteeste "chmod -R 755mydir" yesoestablecerá recursivamente lospermisosparatodosellos.
- Si aúntiene unproblema después detodoeso,entoncestiene unproblema de configuración del servidor (probablemente Apache).Deberá hablar con suproveedor de alojamiento al respecto.
Sinada deesofunciona,entoncesnecesita unnuevo host.
If you are still getting 404's with the htaccess disabled and you have verified the paths and you know the files are there then your only options left are these three...
Options...
- Server is quite possibly running a case-sensitive operating system. Which means if you are typing in a path and not using the exact characters and casing it simply will not work.
- Permissions: You may have the wrong permissions on the file or folder or a parent folder. Try to change the permissions to 755 on the files, folders, and parent folders. If you have ssh (terminal) access to it then go to your root and run this "chmod -R 755 mydir" and that will recursively set the permissions for all of them.
- If you are still having a problem after all of that then you have a server config problem (Apache probably). You will need to talk to your hosting provider about it.
If none of that works then you need a new host.
-
- 2015-12-10
Después de casi arrancarmeelpeloeditando htaccess,finalmenteencontré una solución quefuncionarápara WordPress.
Tuveesteproblema después deinstalar un script de codeiginteren elmismo directorio raízen el queestáinstalado WordPress.
Después deprobartodos lostrucosenumerados aquí,todavía recibíaerrores 404en laspáginas asociadas conelnuevo script.
Noté queel htaccess de WordPressestaba anulandoel htaccess del script. Tambiénnoté que otrasinstalaciones de WordPressen elmismo directorionoteníanesteerror 404.
Simplemente adoptéel htaccess de lanuevainstalación de WordPressen elmismo directorio del servidor y lo agregué a la carpeta donde seencuentrami script. Asíes como se ve:
<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>
Reemplace subdirectoryname conelnombre de su directorio y coloqueeste archivo htaccess dentro de la carpeta donde seencuentra su script.
Ejemplo: siel sitioestáinstalado aquí
public_html/
y seencuentra lanueva carpeta
`public_html/example`
copieel htaccess anterior yguárdelo dentro de la carpeta 'ejemplo' yesto deberíafuncionar.
After nearly plucking my hair editing the htaccess I finally found a solution that will work for WordPress.
I had this problem after installing a codeiginter script on the same root directory that WordPress is installed.
After trying all the tricks listed here I was still getting 404 errors on the pages associated with the new script.
I noted that the WordPress htaccess was overiding the script's htaccess. I also noted that other WordPress installations in the same directory did not have this 404 error.
I simply adopted the htaccess from the new WordPress installation in the same server directory and added it in the folder where my script is located. Here is how it looks like :
<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>
Replace subdirectoryname with the name of your directory and place this htaccess file inside the folder where your script is located.
Example : If the site is installed here
public_html/
and the new folder is located
`public_html/example`
copy the htaccess above and save it inside the folder 'example' and this should work.
-
- 2013-10-02
Hemirado las respuestas aquí varias vecesporqueme encontraba con unproblema similar.Tengo archivosen un subdirectorio que arrojarían unerror 404 cuandointenté acceder aellos.Todas las cosas .htaccessnopudieron rectificarlo,como dice Kirsten Douglas,Wordpress ya haceeltrabajo.
Mi solución
Encontréeste artículo después de comprobarelerror_logen el servidor.Recibía unmensaje sobre un uidincorrectopara los scripts.Tambiénnoté queel 404no seestaba lanzando debido al archivo,sinoporqueel servidornopodíaentregar un archivo 500.html,es decir,tuve unerror 500.
Resulta que había creado archivos como root ynecesitaba cambiar lapropiedad alpropietario de los archivos web.
¡Espero queesto ayude a otraspersonas que hantenidoelmismoproblema!
I've looked at the responses here a number of times as I'd run into a similar problem. I have files in a subdirectory that would throw a 404 error when I tried to access them. All the .htaccess stuff failed to rectify it, as Kirsten Douglas says, Wordpress does the job already.
My solution
I found this article after checking the error_log on the server. I was getting a message about wrong uid for scripts. I also noticed that the 404 wasn't being thrown because of the file, but because the server couldn't serve up a 500.html file i.e. I had a 500 error.
Turns out I'd created files as root, and needed to change ownership to the webfiles owner.
I hope this helps others who've had the same issue!
-
- 2011-06-16
Deberíapoder agregar una directiva
RewriteCond
que se asegurará de que seignoren las reglas de WordPresspara las solicitudes dentro de su subcarpeta.RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules
Sinembargo,¿dice queincluso con no WordPress
.htaccess
estáexperimentandoelproblema?¿Cuálesel contenido de su subdirectorio.htaccess
?You should be able to just add a
RewriteCond
directive that will make sure the WordPress rules are ignored for requests inside your subfolder.RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules
However, you say that even with no WordPress
.htaccess
you're experiencing the problem? What's the contents of your subdirectory.htaccess
?
Me refiero aestapreguntaformulada anteriormente yno respondida adecuadamente: Wordpress anula los subdirectorios reales ytambién No & quot; Wordpress & quot;páginas/código conerror 404
Tengoelmismoproblema y heprobado casitodo lo queencontréen la red. Definitivamenteestá relacionado contener losenlacespermanentes activadosen wordpress. Sinembargo,puse unnuevo archivo .htaccessen el subdirectorio con:
RewriteEngine desactivado
yelproblema aúnexiste. Incluso sieliminopor completoel archivo .htaccess de wordpress,elproblemapersiste.
Tambiénprobé algunas otras soluciones sugeridas,como ErrorDocument 401 "Accesono autorizado" y ErrorDocument 404 "Accesono autorizado" y Redirigir 301/mysubdirectory http://www.mydomain.com/mysubdirectory/index.html en varios lugares,todofueen vano.
¿Alguienpuede ofrecer otra solución? La únicaformaen quepuedo solucionarloes desactivando losenlacespermanentes,peronecesitamos queestén activados.
Gracias,
Nicole