web-dev-qa-db-fra.com

add_rewrite_rule ne prend pas effet dans Wordpress? Le fichier .htaccess n'est pas mis à jour

J'ai essayé toute la journée de réécrire pour pouvoir travailler avec Wordpress, mais je ne peux tout simplement pas faire fonctionner quoi que ce soit. J'ai essayé tellement de façons différentes, mais rien n'est mis à jour dans le fichier .htaccess, je ne suis donc pas sûr de ce que je fais de mal en ce moment. Ceci par exemple, j'ai trouvé sur le manuel wordpress que j'ai essayé, mais cela ne fonctionne pas. https://codex.wordpress.org/Rewrite_API/add_rewrite_rule . J'ai entendu dire qu'il fallait vider la réécriture, alors j'ai essayé d'ajouter flush_rewrite_rules (); au fichier functions.php aussi, mais cela ne fait aucune différence. Aussi, je mets à jour les permaliens wordpress pour obtenir une actualisation de cette façon aussi. Mais cela ne se passe toujours rien dans le fichier .htaccess. Alors qu'est-ce que je fais? En passant, j'utilise un service d'hébergement Web de serveur d'hôtel, je ne peux donc pas modifier moi-même les paramètres "profonds" du serveur.

J'utilise le plugin WP Fastest Cache, qui en contient beaucoup dans le fichier .htaccess. J'ai commencé à penser si cela pourrait interférer, mais je ne le pense pas. N'ayant aucune idée de ce qu'il faut faire, je veux vraiment que mes liens fonctionnent, où j'ai des modèles personnalisés avec des paramètres $ _GET [''] aux belles URLs. Le fait est que je dois seulement travailler pour pouvoir commencer, comme c'est le cas maintenant, rien ne se passe quoi que je fasse. Le plus simple add_rewrite_rule n'affecte rien. Je suis sûr que le fichier .htaccess se trouve dans le dossier racine du site et que je modifie le fichier functions.php correct.

function custom_rewrite_basic() {
  add_rewrite_rule('^leaf/([0-9]+)/?', 'index.php?page_id=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_basic');

Le fichier .htaccess (qui est complètement généré, mais sans les pistes de réécriture de mes fonctions).

# BEGIN WpFastestCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} ^www.mywebsite.com [NC]
RewriteRule ^(.*)$ http\:\/\/mywebsite\.com\/$1 [R=301,L]
RewriteCond %{HTTP_USER_AGENT} !(facebookexternalhit)
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !(\/){2}$
RewriteCond %{QUERY_STRING} !.+
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [or]
RewriteCond /storage/content/64/117764/mywebsite.com/public_html/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/all/$1/index.html" [L]
</IfModule>
<FilesMatch "\.(html|htm)$">
AddDefaultCharset UTF-8
<ifModule mod_headers.c>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Mon, 29 Oct 1923 20:30:00 GMT"
</ifModule>
</FilesMatch>
# END WpFastestCache
# BEGIN GzipWpFastestCache
<IfModule mod_deflate.c>
AddType x-font/woff .woff
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/opentype font/ttf font/eot font/otf
</IfModule>
# END GzipWpFastestCache
# BEGIN LBCWpFastestCache
<FilesMatch "\.(?i:ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)(\.gz)?$">
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType image/svg+xml A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript A2592000
</IfModule>
<IfModule mod_headers.c>
Header set Expires "max-age=2592000, public"
Header unset ETag
Header set Connection keep-alive
FileETag None
</IfModule>
</FilesMatch>
# END LBCWpFastestCache

# 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

# BEGIN mywebsite
<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

#ENDjapgoi
2
mpj

Comme quelqu'un l'a suggéré, j'ai réactivé mon thème et il a commencé à fonctionner!

2
mpj