powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Apache: RewriteRule
2 сообщений из 2, страница 1 из 1
Apache: RewriteRule
    #38279968
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь заменить урлы вида
site.com/index
site.com/index/

На site.com/index.php

если напишу так:
авторAddDefaultCharset utf-8
RewriteEngine on
# если файл или папка, то ничего не делать
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^(.+)/ $1\.php [L]
RewriteRule ^(.+) $1\.php [L]
Все работает как нужно.

Но без этого:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
Ошибка: Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Я не понимаю, ведь тут только сказано, что если попытка открыть какой-то файл (к примеру exe) или же папку, то не выполнять то, что идет ниже.
Но ведь когда я пишу
site.com/index или site.com/index/ - это же не папка или какой-то файл (хотя страницу можно считать файлом, но я думаю, что к странице это не относится)
...
Рейтинг: 0 / 0
Apache: RewriteRule
    #38280424
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще приводить сначала к слешу (плюс установка DirectoryIndex ) ?
сам делаю примерно так - вот копипаста из .htaccessDirectoryIndex index.html index.htm index.php
AddDefaultCharset utf-8
RewriteEngine On
RewriteRule ^.htaccess$ -[F]

RewriteCond %{HTTP_HOST} ^mysite.ru$ [NC]
RewriteRule ^(.*)$ http://www.mysite.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|htm|html)\ HTTP/
RewriteRule ^index\.(php|htm|html)$ http://www.mysite.ru/ [R=301,L]

RewriteCond %{THE_REQUEST} ^(.*)\/index\.(php|htm|html)\ HTTP/
RewriteRule ^(.*)\/index\.(php|htm|html)$ http://www.mysite.ru/$1/ [R=301,L]

...

Заодно можно немного снизить нагрузку на сервер, если содержимое страницы обновляется редко
(то-есть если index.html нет, то index.php при работе его создаёт, а когда что-то изменилось, index.html удаляется - снова до первого вызова index.php).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Apache: RewriteRule
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]