У меня есть этот htaccess, который прекрасно работает. Я хотел бы сделать еще одну вещь. У меня есть URL-адреса на сайте жестко контролируется, он работает нормально. Я хотел бы запретить людям добавлять произвольные запросы на сайт.
Я использую дружественные ссылки. Мои URL работают так:
http://www.mysite.net/pagename
Таким образом, если вы попытаетесь вставить несуществующую страницу, вы получите ошибку 404. Это все отлично работает. Но я бы хотел еще больше ограничиться.
В настоящее время, если вы поместите в index.php, он тоже работает, и вы получите
http://www.mysite.net/index.php
Я хочу ограничить это поведение, так как люди могут добавлять, а поисковые системы могут индексировать добавление произвольных запросов к URL, например
http://www.mysite.net/index.php?test=somthing
и это не выбрасывает 404, а идет на домашнюю страницу index.php. Я хотел бы, чтобы эти типы URL бросали 404.
Мой htaccess ниже, есть что-нибудь, что я могу сделать, чтобы исправить это там.
RewriteEngine On
#RewriteRule ^gallery(/((([a-zA-Z0-9-]+)(/(\d+))?)/?)?)?$ index.php?page=77&groupId=$4&showpage=$6 [NC,QSA,L]
RewriteRule ^gallery/([a-zA-Z0-9-]+)/(\d+)/?$ index.php?page=77&groupId=$1&showpage=$2 [NC,QSA,L]
RewriteRule ^gallery/([a-zA-Z0-9-]+)/?$ index.php?page=77&groupId=$1 [NC,QSA,L]
RewriteRule ^gallery/?$ index.php?page=77 [NC,QSA,L]
RewriteRule ^video/(\d+)/([a-zA-Z0-9-]+)/?$ index.php?page=60&showpage=$1&v=$2 [NC,QSA,L]
RewriteRule ^video/(\d+)/?$ index.php?page=60&showpage=$1 [NC,QSA,L]
RewriteRule ^video/?$ index.php?page=60 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
#RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [NC,QSA,L]