Două fișiere ".htaccess" în directoare diferite - este normal?
Am găsit două fișiere ".htaccess", unul este localizat în '/httpdocs/.htaccess', iar celălalt în '/httpdocs/wordpress/.htaccess', conținutul este diferit, este normal?
WordPress a fost instalat în directorul '/wordpress/', apoi nu a fost modificat, dar când utilizatorii accesează site-ul meu, URL-ul afișează "http://www.mydomain.com", fără să apară 'wordpress' în URL.
De asemenea, din Setări > General:
Adresa WordPress (URL): http://www.mydomain.com/wordpress
Adresa site-ului (URL): http://www.mydomain.com

În general, Apache va folosi cel mai specific fișier .htaccess pentru resursa solicitată. Aceasta înseamnă că, pentru accesarea fișierelor din /httpdocs/wordpress/
, va fi utilizat /httpdocs/wordpress/.htaccess
. Accesul la /httpdocs/foo/
va folosi /httpdocs/foo/.htaccess
și, dacă acesta nu există, va folosi /httpdocs/.htaccess
.
Dacă rădăcina documentului indică spre /httpdocs/wordpress/
, atunci utilizatorii vor vedea http://www.example.com
ca fiind directorul WordPress. De asemenea, dacă /httpdocs/.htaccess
include reguli de rescriere pentru a ascunde wordpress
din numele folderului, același lucru se va întâmpla.

Acesta este conținutul din "wordpress/.htaccess", folosit doar de BetterWPSecurity:
# BEGIN Better WP Security
# Begin HackRepair.com Blacklist
RewriteEngine on
#Blochează spammerii de comentarii, roboții rău intenționați și unele proxy-uri
RewriteCond %{REMOTE_HOST} 12.226.240.248 [OR]
RewriteCond %{REMOTE_HOST} 24.111.102.26 [OR]
RewriteCond %{REMOTE_HOST} 24.117.121.113 [OR]
RewriteCond %{REMOTE_HOST} 65.30.216.140 [OR]
RewriteCond %{REMOTE_HOST} 67.87.64.23 [OR]
RewriteCond %{REMOTE_HOST} 68.12.149.198 [OR]
RewriteCond %{REMOTE_HOST} 69.139.167.203 [OR]
...

Acesta este conținutul din "/.htaccess":
BEGIN WordPress
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
END WordPress

Se pare că unele plugin-uri folosesc "wordpress/.htaccess", dar "/.htaccess" funcționează și el, crezi că este sigur să continui să lucrezi așa? Mulțumesc.

După cum a menționat lacqui în răspunsul său, Apache va prelua tot ce are nevoie din toate fișierele .htaccess pe care le creați, dar cele care sunt mai specifice vor înlocui cele situate mai aproape de directorul rădăcină. Aceasta înseamnă că vă puteți împărți regulile în mai multe fișiere. Sau, mai pe scurt: Da, este în regulă să le păstrați în acest fel.

Se pare că ai WordPress instalat într-un subdirector. Există o explicație detaliată despre acest lucru în codex: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
Pasul 7 menționează că fișierul .htaccess ar trebui să fie copiat și nu mutat din subdirector în rădăcină. Deci da, este normal să ai două fișiere .htaccess atunci când ai configurat instalarea WordPress într-un subdirector.
