Задать вопрос

Как в кореном .htaccess задать правило, если есть url директория, а файла нет?

Как правильно задать правила в /.htaccess, который расположен в корне обязательно?
Структура
/.htaccess
/dir1/intel.php /// товар
/dir1/index.php /// категория
/dir2/intel.php
/dir2/index.php
.... и т.д.
url например сайт/dir1/1 все урлы (от 1- 99) вели на файл категории /dir1/index.php
url например сайт/dir1/100 все урлы (от 100- 9999) вели на файл товара /dir1/intel.php

url например сайт/dir2/1 все урлы (от 1- 99) вели на файл категории /dir2/index.php
url например сайт/dir2/100 все урлы (от 100- 9999) вели на файл товара /dir2/intel.php
и т.д.
# php убрал так и тп
DirectoryIndex index.php

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

RewriteCond %{THE_REQUEST} /index(\.php)?[/?\s] [NC]
RewriteRule ^(.*?)index(?:\.php)?$ /$1 [L,R=301,NC,NE]

RewriteCond %{THE_REQUEST} \.(php|html)[\s?] [NC]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)\.(html|php)$ /$1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dodo512
# 1 - 99
RewriteRule ^([^/]+)/[1-9]\d?$ /$1/index.php [L]

# 100 - 9999
RewriteRule ^([^/]+)/[1-9]\d\d\d?$ /$1/intel.php [L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы