/ / Apache mod_rewrite специфичен динамичен URL адрес - php, apache, .htaccess, mod-rewrite, синтаксисна грешка

Apache mod_rewrite специфичен динамичен URL адрес - php, apache, .htaccess, mod-rewrite, syntax-error

Използвам mod_rewrite за писане на domain.com/index.php? = низ към domain.com/string. Трябва да имам уебсайт, който да показва index.php? = Карта на сайта, когато робот отиде на sitemap.html за SEO цели. Опитах много варианти и получих / sitemap за показване /sitemap.html с помощта на кода:

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

Пренаписването разбираемо не коригира проблема, тъй като всъщност търси sitemap.html не index.php? P = sitemap.

В момента действащите правила са:

    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]

Всяка помощ е много ценена.

Отговори:

0 за отговор № 1

Просто добавете това между двете си правила:

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

Така всичко изглежда така:

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]