Это правило прекрасно работает для http://foo.com/page/contact
RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [L]
Но я хочу сделать это для http://foo.com/contact
Но это не правильно:
RewriteRule ^/([^/\.]+)/?$ index.php?page=$1 [L]
Как мне это исправить?
Удалите ваш первый /, который не нужен, потому что корневой каталог уже там. вот так:
/
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]
ваш второй пример технически запрашивает http://foo.com//contact