У меня есть этот .htaccess код, который я собрал из разных источников, и у меня возникли проблемы с добавлением к нему нескольких дополнительных опций.Добавление параметров в существующий .htaccess
<Limit GET POST PUT>
order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX
</Limit>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
# allow things that are certainly necessary
RewriteCond %{REQUEST_URI} "/css/" [OR]
RewriteCond %{REQUEST_URI} "/js/" [OR]
RewriteCond %{REQUEST_URI} "/images/"
RewriteRule .* - [L]
RewriteRule ^([a-zA-Z0-9-/_]+)/([a-zA-Z0-9-/_%]+)/([a-zA-Z0-9-/_]+)/([a-zA-Z0-9-/_]+)$ index.php?primary=$1&secondary=$2&tertiary=$3&quaternary=$4 [QSA]
RewriteRule ^([a-zA-Z0-9-/_]+)/([a-zA-Z0-9-/_%]+)/([a-zA-Z0-9-/_]+)$ index.php?primary=$1&secondary=$2&tertiary=$3 [QSA]
RewriteRule ^([a-zA-Z0-9-/_]+)/([a-zA-Z0-9-/_%]+)$ index.php?primary=$1&secondary=$2 [QSA]
RewriteRule ^([a-zA-Z0-9-/_]+)$ index.php?primary=$1
Во-первых, я хотел бы добавить принудительное использование www.
в URL. Когда я попытался добавить это, полученный URL-адрес станет выходом текущего RewriteRule
s, содержащего переменные GET
. Я считаю, что это потому, что правила работают над циклом?
Еще одна вещь, которую я хотел бы сделать, - это поймать все, что не соответствует критериям действующих правил, и отправить что-то вроде index.php?primary=error
. Теперь он работает почти, который идеально подходит для моего использования, потому что, если есть неправильный URL или незаконный символ, сайт не собирается даже пытаться отобразить страницу. Сайт будет создавать все URL-адреса безопасно, поэтому любые плохие URL-адреса будут результатом экспериментов в адресной строке, но было бы неплохо иметь страницу с ошибкой, а не страницу не найдена.
Заранее благодарим .. И извините за использование путаницы RewriteRule
!
Это, конечно, много Tider, спасибо. Запуск одного из последних 4 RewriteRules заставляет меня получить страницу, которая не найдена, хотя .. Как будто использование простого слова для последнего правила не квалифицируется как действительное. –
Какой URL-адрес вы указали в браузере? – anubhava
Он разрешает только определенные IP-адреса, поэтому я напишу их как: http://www.domain.com/hub (не работает), http://www.domain.com (работает) –