У меня проблема с перенаправлением mod_rewrite, которую я не могу понять.
все запросы из определенного домена «молча» переписываются в указанный подкаталог. например www.mydomain.net/hello.html
извлекает файл в /net/hello.html
. следующий .htaccess (размещенный в корне моего хостинга) прекрасно достигает этого:
RewriteEngine on
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} 200 # <-- i will need this later. read to the end of the post.
RewriteRule .* - [L]
rewriteCond %{HTTP_HOST} ^www.mydomain.net$
rewriteCond %{REQUEST_URI} !^/net.*$
rewriteRule (.*) /net/$1 [L]
однако прямые URL-адреса в этот каталог, однако, должны визуально перенаправлять с 301 на URL без этого подкаталога. например www.mydomain.net/net/hello.html
следует перенаправить на www.mydomain.net/hello.html
(который затем извлекает файл в /net/hello.html
). мой файл .htacces для этого (помещен в /net
) , к сожалению, не работает:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^(.*) /$1 [R=301,L]
я получаю бесконечный цикл перенаправления, несмотря на блок RewriteCond %{ENV:REDIRECT_STATUS} 200
в корневом файле .htaccess ... так что же не так?
Кстати, я должен использовать mod_rewrite, потому что сайт размещен снаружи, и у меня нет доступа к конфигам apache.
большое спасибо за любые указатели.