#url #url-rewriting #apache2
#url #url-переписывание #apache2
Вопрос:
Я пытаюсь перенаправить URL-адреса с помощью .htaccess следующим образом:
example.io/foo => example.io/~user/foo
example.io/foo/ => example.io/~user/foo/
и я попытался:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(example.io) [NC]
RewriteRule ^(.*)/?$ /~user/$1 [L]
</IfModule>
Когда я обращаюсь к example.io/foo/
, он отвечает [200]
и отображается в браузере example.io/foo/
,
но при доступе к example.io/foo
, отвечает [301]
и отображает example.io/~user/foo
.
Я хочу, чтобы браузер отображался example.io/foo
(без косой черты), когда я обращаюсь к example.io/foo
Ответ №1:
Для достижения этого:
example.io/foo => example.io/~user/foo
example.io/foo/ => example.io/~user/foo/
вы должны сделать:
RewriteCond %{REQUEST_URI} ^/foo/ [OR]
RewriteCond %{REQUEST_URI} ^/foo
RewriteRule ^(.*)$ ~user/$1 [L]