У меня уже есть скрипты php, и недавно я хотел интегрировать Slim framework.htaccess использовать «this.php», если вышеуказанные условия не выполняются
Что я надеюсь достичь, это использование тонкой маршрутизации в качестве конечного объекта, если все мои уже существующие условия перезаписи не выполняются, это означает, что Slim будет обрабатывать 404 страницы.
Тонкая структура .htaccess правило перезаписи:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule^index.php [QSA,L]
а потому, что у меня уже есть существующий index.php
я инстанцирован Слим, используя this.php
вместо этого, поэтому он должен быть
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule^this.php [QSA,L]
Здесь приходит проблема, у меня уже есть уже существующие правила перезаписи, которые я хочу сохранить, вот некоторые правила перезаписи:
Options +FollowSymLinks
RewriteEngine on
RewriteBase/
# Rewrite to www
RewriteCond %{HTTP_HOST} ^example.com [nc]
RewriteRule ^(.*)$ https://www.example.com/$1 [r=301,nc,l]
RewriteRule ^category/([^/]*)/?$ category.php?console=$1 [L,QSA]
RewriteRule ^category/([^/]*)/([^/]*)$ category.php?console=$1&page=$2 [L,QSA]
RewriteRule ^category-amp/([^/]*)/([^/]*)$ category-amp.php?console=$1&page=$2 [L,QSA]
RewriteRule ^games/([^/]*)/?$ games.php?console=$1 [L,QSA]
RewriteRule ^forum^(.*)$ index.php
RewriteRule ^download.php?$ $1/new-page$2 [R=301,L]
поэтому, если какой-либо из вышеперечисленных рисунков не был выполнен, я хотел бы вместо этого использовать this.php
.
Если добавить
RewriteRule^this.php [QSA,L]
к нижней части правил. Проблема заключается в том, что при использовании этого правила каждое игнорируемое правило игнорируется, поэтому все запросы перенаправляются на this.php
, что приведет к ошибкам 404 Slim. Как я могу сделать htaccess для проверки, если правила, установленные выше RewriteRule^this.php [QSA,L]
, соответствуют первому, прежде чем передать его, наконец, на this.php
?
Надеюсь, кто-то может помочь.
Пожалуйста, вы можете объяснить, почему его '[L]', а не оригинал '[QSA, L]'? –
'QSA' необходимо, только если вы изменяете строку запроса в целевом URI, и здесь, в этом правиле, мы этого не делаем. – anubhava
большое спасибо –