Я нашел способ перенаправить (не загружать, а изменить URL) "/
" на "/home.html
".И теперь я хочу добавить RewriteCond
, чтобы избежать перенаправления, если файл "/index.html
" существует.
Я пытался (без комментариев), но это не сработало:
# We check that we comes from "domain.tld/"
RewriteCond %{REQUEST_URI} =/
# We check that there is no index.html file at the site's root
RewriteCond %{REQUEST_URI}index\.html !-f
# We redirect to home.html
RewriteRule ^(.*)$ %{REQUEST_URI}home\.html [R=301,L]
Помоги мне, Оби-ван Кеноби ... Ты моя единственная надежда!
@ Гамбо
Это немного сложнее, чемприведенный выше пример.Фактически, я управляю как локальным, так и производственным развитием с помощью одного и того же .htaccess, поэтому я попробовал что-то вроде этого (следуя вашему ответу):
# Redirect domain.tld/ to domain.tld/home.html (only if domain.tld/index.html does not exists)
RewriteCond %{DOCUMENT_ROOT}index\.html !-f [OR]
RewriteCond %{DOCUMENT_ROOT}domain.tld/www/index\.html !-f
RewriteRule ^$ %{REQUEST_URI}home\.html [R=301,L]
Я посмотрел путь, возвращенный доменом "% {DOCUMENT_ROOT}.tld / www / index.html "и это точно путь к моему файлу index.html ... тем не менее, он тоже не сработал.: (
Кстати, спасибо за "^ $", чтобы избежать "% {REQUEST_URI} = /"! \ O /
Есть идеи, почему?