web-dev-qa-db-fra.com

htaccess redirect - répertoire et sous-pages sur une seule page

Je veux rediriger en masse les sous-répertoires/sous-pages/pages vers une seule page.

de

example.com/definicje 
example.com/definicje/521/ 
example.com/definicje/592/a.html 
etc.

sur une seule page

example.com/single-page/

Ma règle de réécriture ne redirige rien:

# 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]
RewriteRule ^definicje(.*)$ http://example.com/single-page/ [R=301,L]
</IfModule>
1
user105919

La solution consiste à mettre la réécriture juste après RewriteEngine On.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^definicje(.*)$ http://example.com/single-page/ [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
2
user105919

Il existe un plugin pour rediriger tous ces types de cas. C'est simplement appelé redirection. Rechercher dans le répertoire du plugin. Je l'utilise pour rediriger des répertoires ou certaines pages. https://wordpress.org/plugins/redirection/

1
Webmaster TheCMG