У меня есть следующий htaccess, и я пытаюсь переписать все URL-адреса, которые не соответствуют ни одному из правил.
Options -Indexes
Options +FollowSymLinks
RewriteEngine On
# —————— rule1 ——————
RewriteCond %{REQUEST_URI} ^(.*)/learn/(why|about)$
RewriteRule ^(.*)/(.*)$ ./index.php?page=$2 [L,QSA]
# —————— rule2 ——————
RewriteCond %{REQUEST_URI} ^(.*)/profile/edit$
RewriteRule ^(.*)$ ./index.php?page=profile [L,QSA]
# —————— rule3 ——————
RewriteCond %{REQUEST_URI} ^(.*)/users/(.*)$
RewriteRule ^(.*)/(.*)$ ./index.php?page=user&userUrl=$2 [L,QSA]
Что бы я хотел, это что-то вроде этого
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule ^(.*)$ ./index.php?page=404 [L,QSA]
но он, похоже, не работает. Любой способ добиться этого? Благодарю.
Последнее правило catch-all будет следующим:
DirectoryIndex index.php
Options +FollowSymLinks -Indexes
RewriteEngine On
# —————— rule1 ——————
RewriteCond %{REQUEST_URI} ^(.*)/learn/(why|about)$
RewriteRule ^(.*)/(.*)$ index.php?page=$2 [L,QSA]
# —————— rule2 ——————
RewriteCond %{REQUEST_URI} ^(.*)/profile/edit$
RewriteRule ^(.*)$ index.php?page=profile [L,QSA]
# —————— rule3 ——————
RewriteCond %{REQUEST_URI} ^(.*)/users/(.*)$
RewriteRule ^(.*)/(.*)$ index.php?page=user&userUrl=$2 [L,QSA]
# —————— rule4 ——————
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php?page=404 [L,QSA]