Impossible d'accéder aux sous-répertoires non-wordpress car wordpress les remplace avec une erreur 404
-
-
Que sepasse-t-il si vous renommez l'index.phpen index.bak dans le dossier racine de WordPress?Le répertoiren'est-iltoujourspas accessible?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
-
Avez-vousessayé de redéfinir l'url debase dans votre sous-dossier .htaccess (avec ce sous-dossierpour la valeur)?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 réponses
- votes
-
- 2011-06-17
Je suppose que vousmettez WordPress à la racine de votre siteet que les répertoiresexternes sont également à la racine de votre site. La raisonpour laquelle cela seproduitest que lesfichiers .htaccess suivent une hiérarchie. Quelles que soient les directives contenues dans lefichier .htaccess deniveau supérieur,leflux descendet s'applique àtous les répertoiresen dessous.
Sitelest le cas,vouspouvezfaire l’une des choses suivantes:
-
Déplacez votre WordPress dans sonpropre répertoire. Voir: http://codex.wordpress.org/Moving_WordPress Si vous déplacez WordPress dans sonpropre répertoire afin qu'il soit aumêmeniveau dans la hiérarchie des répertoires de votre serveur que les autres répertoires,les règles de réécriture de WordPressne peuventpas affecter les autres répertoires.
-
RewriteEngine Off - celafonctionneraitnormalement. Si celane fonctionnepas,vérifiez que vousn'utilisezpas deparamètre DNSgénérique. Si vous avez unenregistrement denom d'hôtegénérique *pointant vers votre serveur Web dans vosparamètres DNS,celapeut causer des ravages avec .htaccesset les sous-domaines.
-
Dans lefichier .htaccess à la racine de votre site,ajoutez ce qui suit AU-DESSUS des directives .htaccess de WordPress:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L] </IfModule>
L'un d'eux devraitfonctionnerpour vous.
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.
-
-
Merci!J'aiessayétellement de choses,mais c'est la seule solution qui afonctionnépourmon cas: sous-répertoireprotégéparmot depasseThanks! 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
-
Atravaillépourmoi aussi,desexplications sur ce que çafaitet pourquoi çamarche?Worked for me too, any explanation as to what it does and why it works?
- 2
- 2013-08-10
- Asaf
-
Celafonctionnepourmoi ..n'utilisantpas wordpressmais OpenCartet ayant lemêmeproblème.Uneexplication serait vraiment utile.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
Je vois que cefil date de quelquesmois,maisjuste au cas où vousne l'auriezjamaisfaitfonctionner!
J'aieu unproblème similaire,maismonproblème était que l'installation de wordpress était située dans le sous-répertoire quiempêchait l'accès URL aux dossiers dans la racine (en dehors du répertoire d'installation de WP),mais uniquement lorsque lespermaliens étaient activés. Pour résoudre ceproblème,j'ai copié à lafoisindex.phpet .htaccess (copierpas déplacer) du sous-répertoire où setrouve l'installation WPet lesplacertous les deux dans la racinepublic_html (outout autre sous-répertoire auquel vousessayez d'accéderen dehors de l'installation WP annuaire). Lefichier .htaccess a déjà les conditions de réécriturepour lespermaliens:
RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Activez lespermalienspour l'actualisationet cela a résolutous lesproblèmes. Assurez-vous que vos autorisationspour les dossiers racine sont également définies correctement,car celam'a causé desproblèmes dans lepassé.
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
quandje copiemesfichiers sur lemême serveurmais avec un dossier de sous-répertoire différent,donc quandj'essaye d'accéder àmespages,index.phpfonctionnebien mais les autrespagesne le sontpaset me donne uneerreur 404.Désolépourmonmauvais anglais !!
Je viens de regarder dansmon htaccess l'original:
# COMMENCER WordPress RewriteEngine On RewriteBase/ RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule./index.php [L] # END WordPress
et mettez lenouveau avec
# COMMENCER WordPress RewriteEngine On RewriteBase/sous-répertoire RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule./subdirectoryfolder/index.php [L] # END 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
-
Salut @lizette.Bienvenue sur lesforums WPSE.Vous voudrezpeut-être vérifier [commentfonctionne leformatage] (http://stackoverflow.com/editing-help)ici.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
Si vous obteneztoujours des 404 avec htaccess désactivéet que vous avez vérifié les cheminset que vous savez que lesfichiers sont là,alors vos seules options sont lestrois ...
Options ...
- Le serveurexécutetrèsprobablement un système d'exploitation sensible à la casse.Ce qui signifie que si vous saisissez un cheminet que vousn'utilisezpas les caractèresexactset ne cassezpas,celane fonctionneratout simplementpas.
- Autorisations: vous disposezpeut-être demauvaises autorisations sur lefichier ou le dossier ou sur un dossierparent.Essayez de changer les autorisations à 755 sur lesfichiers,dossierset dossiersparents.Si vous avez un accès ssh (terminal),allez à votre racineet exécutez ce "chmod -R 755mydir"et cela définira récursivement lespermissionspourtous.
- Si vous rencontreztoujours unproblème aprèstout cela,vous avez unproblème de configuration de serveur (Apacheprobablement).Vous devrezen parler à votre hébergeur.
Si rien detout celane fonctionne,vous avezbesoin d'unnouvel hôte.
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
Après avoirpresque épilémes cheveuxen éditant l'htaccess,j'aifinalementtrouvé une solution quifonctionnerapour WordPress.
J'aieu ceproblème après avoirinstallé un script codeiginter sur lemême répertoire racine que WordPressestinstallé.
Après avoiressayétoutes les astuces répertoriéesici,j'obtenaistoujours deserreurs 404 sur lespages associées aunouveau script.
J'ai remarqué que l'htaccess WordPress remplaçait l'htaccess du script. J'ai égalementnoté que d'autresinstallations WordPress dans lemême répertoiren'avaientpas cetteerreur 404.
J'ai simplement adopté le htaccess de lanouvelleinstallation WordPress dans lemême répertoire du serveuret l'ai ajouté dans le dossier où setrouvemon script. Voici à quoi cela ressemble:
<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>
Remplacez sous-répertoire par lenom de votre répertoireet placez cefichier htaccess dans le dossier où setrouve votre script.
Exemple: si le siteestinstalléici
public_html/
et lenouveau dossierest localisé
`public_html/example`
copiez le htaccess ci-dessuset enregistrez-le dans le dossier «exemple»et cela devraitfonctionner.
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
J'ai regardé les réponsesici un certainnombre defois carje rencontrais unproblème similaire.J'ai desfichiers dans un sous-répertoire quigénéreraient uneerreur 404 lorsquej'essayais d'y accéder.Tous lesfichiers .htaccessn'ontpas réussi à le corriger,comme le dit Kirsten Douglas,Wordpressfait déjà letravail.
Ma solution
J'aitrouvé ça article après avoir vérifié lejournal deserreurs sur le serveur.Je recevais unmessage concernant unmauvais uidpour les scripts.J'ai également remarqué que le 404n'étaitpas lancé à cause dufichier,maisparce que le serveurne pouvaitpas servir unfichier 500.html,c'est-à-dire quej'avais uneerreur 500.
Il s'est avéré quej'avais créé desfichiersen tant que rootet queje devaisen changer lapropriétépour lepropriétaire desfichiers Web.
J'espère que cela aidera d'autrespersonnes qui onteu lemêmeproblème!
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
Vous devriezpouvoir simplement ajouter une directive
RewriteCond
quigarantira que les règles WordPress sontignoréespour les requêtes dans votre sous-dossier.RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules
Cependant,vous dites quemême avec aucun WordPress
.htaccess
vous rencontrez leproblème?Quelest le contenu de votre sous-répertoire.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
?
Jefais référence à cette questionposéeprécédemmentet sans réponse appropriée: Wordpress remplaçant les sous-répertoires réels et aussi Non & quot; Wordpress & quot;pages/code obtenant uneerreur 404
J'ai lemêmeproblèmeet j'aiessayépresquetout ce quej'aitrouvé sur lenet. C'est définitivement lié à l'activation despermaliens dans wordpress. Cependant,j'aimis unnouveaufichier .htaccess dans le sous-répertoire avec:
RewriteEngine désactivé
et leproblèmeexistetoujours. Même sije supprime complètement lefichier wordpress .htaccess,leproblèmepersiste.
J'ai égalementessayé d'autres solutions suggéréestelles que ErrorDocument 401 "Accèsnon autorisé" et ErrorDocument 404 "Accèsnon autorisé" et Redirection 301/mysubdirectory http://www.mydomain.com/mysubdirectory/index.html à diversendroits,en vain.
Quelqu'unpeut-ilproposer une autre solution? La seulefaçon de résoudre ceproblèmeest de désactiver lespermaliens,maisnousen avonsbesoin.
Merci,
Nicole