Je ne parviens pas à supprimer les sous-dossiers de l'URL de mon site WordPress.
Actuellement, le format de l'URL est le suivant: www.mysite.com/subfolder/index.php/category/postname
Je voudrais supprimer à la fois le sous-dossier AND index.php de l'URL.
Le site doit rester dans un sous-dossier de root sur mon serveur.
Mon fichier htaccess
actuel est:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subfolder/index.php [L]
</IfModule>
J'ai essayé d'ajouter ce qui suit, bien que cela n'ait pas fonctionné.
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^subfolder/(.*)$ http://www.mysite.com/$1 [R=301,L]
RewriteRule .* index.php/$0 [PT,L]
Vous ne savez pas exactement ce que vous voulez. Pouvez-vous préciser votre question un peu plus?
Si vous voulez des URLs telles que www.mysite.com/subfolder/postname
(où subfolder
correspond à votre installation WordPress), allez simplement dans Paramètres> Permaliens et remplacez-le par Post Name .
MODIFIER
Si votre installation WordPress est dans subfolder
et que vous voulez des URL comme www.mysite.com/category/postname
, définissez l'adresse Adresse WordPress et Adresse du site sur www.mysite.com
et dans Permaliens , choisissez Structure personnalisée et utilisez cette balise /%category%/%postname%
.
Vous devez faire en sorte que l'URL du site WP et l'URL du domicile diffèrent dans Paramètres/Général. L'URL home doit être example.com
, tandis que l'URL du site (où WP lives) doit être example.com/wp
(ou à l'endroit où vous le mettez).
Vous pouvez les coder en dur dans votre fichier de configuration:
define('WP_HOME', 'http://example.com');
define('WP_SITEURL', 'http://example.com/wp');
WP devrait savoir comment prendre les choses à partir de là et placer le .htaccess où il devrait être.
Dans le cas contraire, le dossier de mon propre site ressemble à ceci:
Le fichier index.php contient:
<?php
// WordPress view bootstrapper
define( 'WP_USE_THEMES', true );
require( './wp/wp-blog-header.php' );
Et le .htaccess contient:
# 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
En ce qui concerne le bit /index.php
dans les URL générées par WP, cela signifie que WP constate (incorrectement?) Que votre site ne peut pas gérer les liens permanents. (Puis-je parier que c'est parce que vous utilisez Nginx ?)
En supposant que vous sachiez mieux que WP, ajoutez un plug-in à utiliser absolument dans votre dossier wp-content/mu-plugins, par exemple. un fichier force-permalinks.php:
<?php
add_filter( 'got_rewrite', '__return_true' );