У меня есть следующие правила для управления URL-адресами, которые перенаправляют не-www-трафик на www, а затем переписывают некоторые URL-адреса. Кажется, что он отлично работает, за исключением случаев, когда я перехожу к «http://example.com/prosite/» (без www, первого случая перенаправления - «^ $»). Я бы ожидал, что это приведет к домашней странице (это значит, что она должна перенаправляться на http://www.example.com/prosite/index.php?page=home), но вместо этого она перенаправляет меня на «http://www.example.com». Спасибо за вашу помощь.htaccess в подкаталоге переадресации в основной домен
RewriteEngine On
RewriteBase "/prosite/"
# redirect non-www addresses to www
# redirect condition: hostname does NOT contain 2 or more dots
RewriteCond "%{HTTP_HOST}" "!\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])\."
RewriteRule "^(.*)$" "http://www.%{HTTP_HOST}/prosite/$1" [R=301,L]
# redirect empty path to home page
RewriteRule "^$" "index.php?page=home" [NC,L]
# redirect page path to corresponding page
RewriteRule "^(home)/?$" "index.php?page=$1" [NC,L]
# redirect all other paths to index.php (without a "page" argument this will show the default page: 404 not found)
RewriteRule "!^index\.php$" "index.php" [NC,L]