Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Использование .htaccess mod_rewrite

Опубликовано:

В новой версии форума 3.3.1 в АЦ указано, что при использовании .htaccess mod_rewrite необходимо создать .htaccess в корневой директории форума со следующим содержимым:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} .*\.(jpeg|jpg|gif|png)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /public/404.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Подскажите, является ли данное содержимое правильным? Я в коде не разбираюсь, просто смущает что RewriteCond %{REQUEST_FILENAME} !-f указано 2 раза.

 

В ранних версиях был такой код:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Изменено пользователем GluK

Рекомендованные сообщения

Опубликовано:

Разделение на два правила сделано с целью снижения нагрузки на скрипты. Теперь если не найдена именно картинка - "(jpeg|jpg|gif|png)" - ошибка обрабатывается отдельным скриптом, в котором PHP-кода всего одна строчка:

<?php header("HTTP/1.1 404 Not Found"); ?>
<html>
<head><title>404 - IP.Board - Bulletin Board System</title></head>
<body>
<h1>404: Not found</h1>
<hr>
The file you requested could not be found
<hr>
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>

 

Никаких запросов к базе, никаких проверок, быстро и легко. Часто бывает, что люди репостят картинки с вашего ресурса на других сайтах, в т.ч. и на очень популярных, и тогда, в случае, если вы у себя эту картинку, например, удалите, ваш форум сразу ляжет от нагрузки...

 

Если же запрос идет не к картинкам, то он обрабатывается по-старому - с инициализацией всех приложений, поиском, куда бы его передать, и генерацией сообщения об ошибке, если некуда.

 

Это очень полезная оптимизация.

  • 1 месяц спустя...
Опубликовано:

Добрый день! Работал на форуме mod_rewrite с вот таким содержимым .htaccess:

AddDefaultCharset utf-8
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule . /index.php? [L]
</IfModule>

 

C недавнего времени все ссылки перестали работать, выдавая Not Found..

Если выключить mod_rewrite в админке - все ссылки заработают, только уже с index.php..

 

Подскажите пожалуйста куда копать?

Опубликовано:

Проблема решилась, банально не было точки перед htaccess :)

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.