ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

htaccess

 

2970
удалён @Foggy
Прошу, помогите написать корректный htaccess. Совсем тугота у меня с этим, уже который раз пишу, всё не так получается.

1. Мне нужно, чтобы все .php, но не .tpl.php файлы от корня / (но не вложенные в папки) открывались по соответствующим урлам, но с форматом .html и при этом не открывались с адресом .php.
пример: файл file.php должен открываться по адресу file.html, но не открываться по адресу file.php
файлы .html, если они вдруг появятся, должны открываться обычно как .html

2. Чтобы при открытии директорий без индекс файлов и не существующих адресов (404) редиректило на index.php (который откроется по адресу index.html). Причём не открывало по указанному адресу содержимое индекса, а именно редиректило.

[spoiler=У меня есть примерно это, но оно не корректно работает (.tpl тогда не учитывал, но нужно)]
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*)+(.html)$ $1.php [NC,L,QSA]

RewriteRule ^(.*)$ index.php [L,QSA]

</ifModule>
[/spoiler]

Прошу именно написать, как это сделать.

Отредактировано Foggy - 18.12.2014
53
Антоненко @DJARTIST
Foggy пишет:

Прошу, помогите написать корректный htaccess. Совсем тугота у меня с этим, уже который раз пишу, всё не так получается.

1. Мне нужно, чтобы все .php, но не .tpl.php файлы от корня / (но не вложенные в папки) открывались по соответствующим урлам, но с форматом .html и при этом не открывались с адресом .php.
пример: файл file.php должен открываться по адресу file.html, но не открываться по адресу file.php
файлы .html, если они вдруг появятся, должны открываться обычно как .html

2. Чтобы при открытии директорий без индекс файлов и не существующих адресов (404) редиректило на index.php (который откроется по адресу index.html). Причём не открывало по указанному адресу содержимое индекса, а именно редиректило.

[spoiler=У меня есть примерно это, но оно не корректно работает (.tpl тогда не учитывал, но нужно)]
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*)+(.html)$ $1.php [NC,L,QSA]

RewriteRule ^(.*)$ index.php [L,QSA]

</ifModule>
[/spoiler]

Прошу именно написать, как это сделать.

**********
**********
Мне вроде помогло 😲