Как переписать все URL-адреса на & # 8220; / & # 8221 ;?
-
05-07-2019 - |
Вопрос
Сервер: 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]
Не связан с StackOverflow