/ / Apache mod_rewrite URL dynamique spécifique - php, apache, .htaccess, mod-rewrite, erreur de syntaxe

Apache mod_rewrite URL dynamique spécifique - php, apache, .htaccess, mod-rewrite, syntax-error

J'utilise mod_rewrite pour écrire domain.com/index.php? = chaîne à domain.com/string. J'ai besoin que le site Web affiche l'index.php? = Sitemap lorsqu'un robot se rend sur sitemap.html à des fins de référencement. J'ai essayé beaucoup de variations et j'ai obtenu / sitemap pour afficher /sitemap.html en utilisant le code:

    RewriteRule ^sitemap/?$ http://www.domain.com/sitemap.html [R]

Naturellement, la réécriture ne résout pas le problème car elle recherche en fait sitemap.html et non index.php? P = sitemap.

Les règles actuellement en place sont:

    RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?p=$1& [L,NC]

Toute aide est grandement appréciée.

Réponses:

0 pour la réponse № 1

Ajoutez simplement ceci entre vos deux règles:

RewriteRule ^sitemap.html$ index.php?p=sitemap [L]

Donc tout ça ressemble à:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301]

RewriteRule ^sitemap.html$ index.php?p=sitemap [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?p=$1& [L,NC]