/ / Apache mod_rewrite špecifická dynamická adresa URL - php, apache, .htaccess, mod-rewrite, chyba syntaxe

Apache mod_rewrite špecifické dynamické url - php, apache, .htaccess, mod-rewrite, syntaktická chyba

Používam mod_rewrite písať domain.com/index.php? = reťazec na doménu.com/string. Musím mať webové stránky zobraziť index.php? = Sitemap, keď robot ide do sitemap.html pre účely SEO. Vyskúšal som veľa variácií a zobrazil /sitemap.html pomocou kódu:

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

Prepísanie pochopiteľne problém nevyrieši, pretože v skutočnosti hľadá súbor sitemap.html nie index.php? P = sitemap.

V súčasnosti platné pravidlá sú:

    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]

Akákoľvek pomoc je veľmi cenená.

odpovede:

0 pre odpoveď č. 1

Stačí pridať tieto pravidlá medzi oboma pravidlami:

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

Takže to všetko vyzerá takto:

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]