I have a strange issue with the menu showing index.php on links from the homepage only. All the other pages use the rewrite addresses correctly. There are no problems with using the rewite addresses. They appear to work fine.
Menu from the homepage
<li class="current"><a href="/index.php/" title="Home">Home</a></li>
<li class="link"><a href="/index.php/page-2/" title="About Us">About Us</a></li>
<li class="link"><a href="/index.php/page-3/" title="Contact Us">Contact Us</a></li>
Menu from other pages.
<li class="link"><a href="/" title="Home">Home</a></li>
<li class="current"><a href="/page-2/" title="About Us">About Us</a></li>
<li class="link"><a href="/page-3/" title="Contact Us">Contact Us</a></li>
.htaccess
### SILVERSTRIPE START ###
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>
<Files web.config>
Order deny,allow
Deny from all
</Files>
# This denies access to all yml files, since developers might include sensitive
# information in them. See the docs for work-arounds to serve some yaml files
<Files *.yml>
Order allow,deny
Deny from all
</Files>
ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html
<IfModule mod_alias.c>
RedirectMatch 403 /silverstripe-cache(/|$)
RedirectMatch 403 /vendor(/|$)
RedirectMatch 403 /composer\.(json|lock)
</IfModule>
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
### SILVERSTRIPE END ###