У меня есть моя настройка .htaccess, как показано ниже. Это простая концепция, когда все запросы передаются в cgi-bin/controller.rb, за исключением тех запросов на что-либо в/images,/css,/javascripts или/cgi-binHtaccess RedirectMatch надлежащего использования
Я также хочу, чтобы корень просто перенаправляться на/index/show, но это часть, которая является ошибкой. Он просто бесконечно перенаправляет на/index/showindex/showindex/show ...
Может ли кто-нибудь объяснить, почему моя перенаправление не работает?
RedirectMatch permanent ^/$ /index/show
ErrorDocument 404 /404
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/images/ [NC]
RewriteCond %{REQUEST_URI} !^/css/ [NC]
RewriteCond %{REQUEST_URI} !^/javascripts/ [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/ [NC]
RewriteRule (.*) /cgi-bin/controller.rb?%{QUERY_STRING}&page=$1 [L]
Работал отлично. Ваш ответ помог мне понять немного больше о том, как работают файлы htaccess. Благодарю. – weexpectedTHIS
Зачем избегать использования RedirectMatch и RewriteRule в одно и то же время? То, что они являются разными модулями и применяются в разное время в потоке запросов, не является причиной. –
@ user2407309 Избежать трудно объяснить неустойчивое поведение, которое может быть разным на разных серверах, кажется хорошей практикой. – Gerben