Вопрос

Сервер: Apache

Я пытаюсь переписать свои URL-адреса следующим образом и не могу найти способ заставить их работать.

http://website.com/index.html

Я хочу, чтобы его перенаправили на:

http://website.com/

Итак, я хочу загрузить index.html, но не отображать его в URL. Я также не хочу давать ему другое имя. Я не ищу, чтобы /index.html стал / index

Кроме того, я пытаюсь получить какие-либо данные GET, такие как:

http://website.com/index.html?id=0&name="fred"

Переписать в:

http://website.com/?id=0&name="fred".

Если у вас есть решение, которое не использует файлы .htaccess, это тоже хорошо.

Это было полезно?

Решение

Я считаю, что это должно работать:

RewriteEngine on
RewriteRule ^index\.html(.*)$ /$1 [R=permanent,L]

Это перенаправит любые запросы, которые начинаются с /index.html , на простой " / " и сохранит все аргументы, которые идут после index.html

Другие советы

Для файла .htaccess:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\ /index\.html
RewriteRule ^index\.html$ / [L,R=301]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top