Mută WordPress într-un subdirector, păstrează TOATE URL-urile
În prezent am un site la site.com și WordPress instalat în directorul rădăcină al site-ului. Site-ul meu include pagini precum:
- site.com
- site.com/page
- site.com/2015/10/01/post....
- site.com/login
- site.com/wp-content/uploads/...
Doresc să mut toate fișierele WordPress într-un subdirector pentru o organizare mai bună, fără a schimba NICIUN URL public. Alte articole și firul oficial de suport vorbesc despre "Giving WordPress its own directory" dar necesită schimbarea URL-urilor:
- https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory (site.com va încărca pagina principală, dar toate celelalte URL-uri publice se vor schimba)
- Mută WordPress într-un director fără a schimba URL-urile (întrebare similară dar discută despre instalarea mai multor bloguri)
Vă rog să mă sfătuiți dacă acest lucru este posibil.

Procedura este documentată în detaliu în Codex sub Mutarea unei instalări Root în propriul director.
Nu înțelegeți corect partea despre schimbarea URL-urilor, și da, terminologia este nepotrivită. Singurele URL-uri care se vor schimba sunt cele bazate pe „adresa WP”. Aceasta se referă la nucleul WordPress, în esență zona de administrare.
Toate URL-urile de conținut sunt bazate pe „adresa site-ului”, iar după această procedură, aceasta va rămâne rădăcina site-ului dumneavoastră.
Deoarece doriți să păstrați încărcările în loc, puteți face acest lucru păstrând wp-content
în rădăcină (separându-l din folderul nucleu) și ajustând configurația pentru aceasta. Consultați Mutarea folderului wp-content.

Bine, iată cum se face:
- Mută
wp-*
,index.php
,.htaccess
în noul tău folderwordpress
Editează
wordpress/.htaccess
:- Găsește această linie:
RewriteRule . /index.php [L]
- Modifică-o în:
RewriteRule . /wordpress/index.php [L]
- Găsește această linie:
Creează un fișier nou în
/calea/catre/www
numit.htaccess
apoi adaugă asta:
RewriteEngine on RewriteRule ^$ https://www.exemplu.com/ [L] <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^/wordpress/index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /wordpress/$1 [L] </IfModule>

Metodă pentru mutarea fișierelor Wordpress în alt folder (director) fără a schimba configurația Wordpress, adică complet transparent pentru Wordpress:
- crează un director în care va fi mutată instalarea Wordpress, de ex. "sitedir"
- mută instalarea WP, inclusiv
.htaccess
, în acest director nou creat - editează fișierul
.htaccess
din directorul rădăcină www (probabil public_html) și inserează următoarele reguli:
RewriteEngine On RewriteBase / # redirecționează către ./sitedir/ RewriteCond %{http_host} ^example\.com$ RewriteCond %{request_uri} !^/sitedir(/.*)$ RewriteRule ^(.*)$ /sitedir/$1 [L,QSA] # extra, redirecționează www.example.com către example.com RewriteCond %{http_host} ^www\.example\.com [NC] RewriteRule ^(.*) http://example.com/$1 [R=301,L]
Înlocuiește "example.com" cu domeniul tău și "sitedir" cu numele folderului în care va fi plasat WP.
