Почему в файле vBulletin .htaccess содержатся эти повторяющиеся утверждения?
Пожалуйста, проверьте прикрепленный код.
RewriteEngine on
# If you are having problems or are using VirtualDocumentRoot, uncomment this line and set it to your vBulletin directory.
# RewriteBase /forum/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^threads/.* showthread.php [QSA]
RewriteRule ^forums/.* forumdisplay.php [QSA]
RewriteRule ^members/.* member.php [QSA]
RewriteRule ^blogs/.* blog.php [QSA]
ReWriteRule ^entries/.* entry.php [QSA]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(?:(.*?)(?:/|$))(.*|$)$ $1.php?r=$2 [QSA]
2 ответа
Первое правило - немедленно прекратить процесс перезаписи, если запрошенный URL-адрес может быть сопоставлен с существующим файлом, символической ссылкой или каталогом. Следующие пять правил сопоставляют префиксы пути с соответствующими файлами. Но так как флаг L не установлен для этих правил, процесс переписывания не остановится, а продолжится и тестирует другие правила, пока следующее, повторное правило не остановит его, как первое.
Я вижу это повторяется только один раз
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
Вы можете удалить второе вхождение.
Заявления предназначены для разрешения ваших SEO-дружественных URL-адресов к файлам скриптов PHP Например это:
RewriteRule ^threads/.* showthread.php [QSA]
Это займет URL-адреса как domain.com/threads/something и переписать для процесса в showthread.php