Ошибка при переписывании URL-адреса страницы - PullRequest
0 голосов
/ 30 апреля 2009

Чтобы преобразовать мой динамический URL-адрес, т.е. www.3idiots.co.in/index.php, в статический URL-адрес, т.е. www.3idiots.co.in/index.html, я отредактировал свой файл .htccess и вставил следующий код это:

RewriteEngine On
RewriteRule ^index.php$ /index.html [R]

когда я загрузил этот файл в корневой каталог и попытался открыть страницу, я получил ошибку

404 страница не найдена ошибка, www.3idiots.co.in/index.html не найден.

Ответы [ 7 ]

1 голос
/ 01 мая 2009

У вас должен быть файл index.html. Прямо сейчас нет. Переписывание / перенаправление работает нормально, вы просто перенаправляете на несуществующую страницу / файл.

Я немного смущен тем, что вы на самом деле пытаетесь сделать. Если вы просто хотите переместить index.php в index.html, переименуйте файл. Перезапись делает это так, что если кто-то пытается открыть index.php, он будет перенаправлен в index.html, но вам все равно потребуется файл index.html для перенаправления с на .

0 голосов
/ 10 февраля 2010

Опции + FollowSymLinks
ПереписатьEngine на
RewriteRule ^ index.html $ index.php

Попробуйте этот код ...

Это будет работать для вашей проблемы /..

Best Of LUck
Если это решит вашу проблему ..
Посетите мой сайт

0 голосов
/ 31 мая 2009

RewriteEngine On

RewriteRule ^ index.html $ index.php

RewriteRule ^ $ index.htm / $ index.php [L]

0 голосов
/ 13 мая 2009

В файле Apache Conf также необходимо убедиться, что для параметра AllowOverride установлено значение, позволяющее обрабатывать .htaccess.

Обычно это AllowOverride all

0 голосов
/ 01 мая 2009

Вы уверены, что перезапись мода включена и работает?

1) создайте html-страницу с именем found.html, в которой есть все, что вам нужно, но с некоторым текстом, чтобы убедиться, что она загружена (в основном, это не пустая страница), и поместите ее в файл с именем ".htaccess":

ПереписатьEngine на
RewriteBase /
RewriteRule ^ find.html $ /found.html [L]

2) загрузите ваши файлы .htaccess и found.html в корневой каталог вашего домена

3) Просто попробуйте загрузить -www.example.com/find.html (с вашим реальным доменом, конечно). Если доступен mod_rewrite, вы должны увидеть содержимое файла found.html при просмотре find.html (который, кстати, физически не существует).

Если это не работает, попробуйте:

ПереписатьEngine на
RewriteBase /
RewriteRule ^ find.html $ found.html [L]

0 голосов
/ 30 апреля 2009

Попробуйте эти правила:

RewriteCond %{THE_REQUEST} ^GET\ /index\.php
RewriteRule ^index\.php$ /index.html [L,R=301]

RewriteRule ^index\.html$ index.php [L]

Первое правило перенаправляет каждый прямой запрос /index.php извне на /index.html. И второе правило переписывает запросы /index.html внутренне в /index.php.

0 голосов
/ 30 апреля 2009
RewriteEngine On

# Send the user to index.html
RewriteRule ^index.php$ /index.html [R]

# Tell the server that index.html really means index.php
RewriteRule ^index.html$ /index.php
...