У меня есть это на моем htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
</IfModule>
И в index.php я получаю REQUEST_URI, чтобы я мог знать, какую страницу отображать.
Но у меня есть другие файлы .php, как сделать, чтобы все выполнение PHP как http://domain.com/file.php направляет на index.php?
Если я в строке «RewriteCond% {REQUEST_FILENAME}! -F», то sitemap.xml не работает.
Извините за мой плохой английский, и спасибо за вашу помощь!
Вы можете иметь это так:
<IfModule mod_rewrite.c>
RewriteEngine On
# route all *.php to /index.php
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[/\s?] [NC]
RewriteRule !^index\.php$ index.php [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
</IfModule>
Других решений пока нет …