Не могу преобразовать в .htaccess расширения файлов с .htm на .aspx

goldyman

Мастер
Регистрация
6 Мар 2008
Сообщения
177
Реакции
30
Купил сайт, который работал на самописном движке. Сам движок покупать не стал, загнули слишком высокую цену, решил пока в простом html его развивать. Но столкнулся с некоторой проблемой, разместив файлы на сервере. В общем, главная открывается, остальные error 404. Файлы с расширением .htm, ключая главную, но все ссылки на сайте сделаны с расширением .aspx. Файл .htaccess имеет следующее содержание:

Код:
DirectoryIndex index.html index.htm index.php
ErrorDocument 404 /404.htm
Options -Indexes
 
<IfModule mod_rewrite.c>
    RewriteEngine on
 
    RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
    RewriteRule ^.*$ http://site.ru%{REQUEST_URI} [R=301,L]
   
    RewriteCond %{THE_REQUEST} ^.*\/index\.aspx\ HTTP/
    RewriteRule ^(.*)index\.aspx$ /$1 [R=301,L]
 
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]*)$ /$1.htm [R=301,L]
</IfModule>

Единственно, что я изменил, так это убрал с .htaccess редиректы на модули и скрипты, которые перенаправляли на соответствующие разделы. Также перенес все .htm файлы в корень из папки. В .htaccess особо не разбираюсь, собственно поэтому и прошу помощи...
 
а хостинг у тебя на чем?
асп - это под винду вообще то. - может в этом дело?:facepalm:
 
Автор темы.
Данные по хостингу. Что как и на чем. Прикрепить/атач пару файлов aspx
Тогда сможем вам помочь.
 
Хостинг Linux. Что .aspx под Windows я прекрасно знаю, но проблема в том, что физически файлы в .htm, просто в .htaccess нужно средиректить их в .aspx. Не знаю даже, для чего бывший хозяин сайта так сделал, может какая-то сео-заморочка. Поэтому собственно, не хотелось бы тупо переводить все ссылки сайта к документам вида .htm, т. к. придется править все страницы сайта + редиректить в том же .htaccess внешние ссылки, дабы их не потерять.
 
Код:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.aspx$ $1.htm [L]
такая запись будет перенаправлять с бла-бла-бла.htm на бла-бла-бла.aspx
 
Код:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.aspx$ $1.htm [L]
такая запись будет перенаправлять с бла-бла-бла.htm на бла-бла-бла.aspx

Такая запись помогла, спасибо. Хотел еще поинтересоваться, может вопрос покажется детским, но подстраховаться никогда не помешает... Запись RewriteRule ^(.*)\.aspx$ $1.htm [L] означает 301 редирект, т. е. сообщает ПС, что страницы на постоянной основе сменили расширение (урл)? Спрашиваю потому, что пытался заменить в окончании этой строки [L] на [R=301,L], но редиректило наоборот, т. е. с aspx на htm...
 
Назад
Сверху