Измените .htaccess, чтобы разрешить доступ к существующим файлам без расширения

У меня есть следующий .htaccess:

#If the requested URI does not end with an extension OR if the URI ends with .php*
#(where * is optionally one or more numbers)
RewriteCond %{REQUEST_URI} !\.[^/]+$ [NC,OR]
RewriteCond %{REQUEST_URI} \.php[s0-9]*$ [NC]

#Then serve the URI via the mapper
RewriteRule .* /mapper.php?uri=%{REQUEST_URI} [L,QSA]

Я хотел бы добавить к нему следующие условия:

  • Файл фактически существует
  • И без расширения

Таким образом, весь файл будет делать примерно так:

IF (requested URI does not end with an extension) OR (URI ends with .php*) THEN
    rewrite the URI
END

IF (file exists) AND (file requested does not end with an extension)
    rewrite the URI
END
2 голоса | спросил Activist 19 J000000Tuesday11 2011, 23:13:38

1 ответ


1

Возможно, что-то вроде этого:

RewriteCond %{REQUEST_FILENAME} -s
RewriteCond %{REQUEST_URI} \.php[s0-9]*$ [NC]
RewriteRule .* /mapper.php?uri=%{REQUEST_URI} [L,QSA]

RewriteCond %{REQUEST_FILENAME} -s
RewriteCond %{REQUEST_URI} !\.[^/]+$ [NC]
RewriteRule .* /mapper.php?uri=%{REQUEST_URI} [L,QSA]
ответил matthew 20 J000000Wednesday11 2011, 17:17:57

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132