Невозможно развернуть задачи в рабочей области из-за отсутствия разрешений на сервере. Никто из наших пользователей не может изменять, удалять или загружать файлы на сервер. И, чтобы быть более точным, мы должны иметь возможность выполнять эти действия в группе данных www на сервере. Потому что проект входит в эту группу. Как установить разрешения root для пользователей www-data group для получения полного доступа?
-121--305598-Может показаться запутанным, но я хочу достичь этого:
Если пользователь посещает:
www.mydomain.com
(с или без www.
)
передать их в:
www.myotherdomain.com/welcome-old-users
В то же время, я хочу достичь этого:
Если они посетят:
www.domain.com/about-us
(с или без www.
)
передать их в:
www.myotherdomain.com/about-us
Что у меня есть до сих пор:
<IfModule mod_rewrite.c>
RewriteEngine On
# To redirect all users to HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirects all www to non-www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteBase /
RewriteCond %{HTTP_HOST} (^www.)?mydomain.com/?$ [NC]
RewriteRule ^(.*)$ https://myotherdomain.com/$1 [R=301,L]
Что работает с пунктом # 2
Любая помощь ценится!
RewriteCond %{HTTP_HOST} (^www.)?mydomain.com/?$ [NC]. RewriteRule ^(.*)$ https://myotherdomain.com/$1 [R=301,L]
Что работает с пунктом #2
Но "проблема" с этим в том, что он перенаправляет все, а не только /about-us
, что вы указали как требования для пункта #2.
(^www.)?mydomain.com/?$
- Вы поставили якорь начала строки (^
) в неправильном месте. Это будет соответствовать любому имени хоста, которое заканчивается на "mydomain.com" (включая любые поддомены и домены с одинаковым суффиксом). Заголовок Host
никогда не заканчивается слэшем, поэтому /?
в конце является лишним.
(И директива RewriteBase
здесь не нужна.)
Вместо этого вам нужно сделать что-то вроде следующего, до ваших существующих директив, в верхней части вашего .htaccess
файла:
# Redirect "/" (document root) only
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com [NC]
RewriteRule ^$ https://www.myotherdomain.com/welcome-old-users [R=302,L]
# Redirect "/about-us" only
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com [NC]
RewriteRule ^about-us$ https://www.myotherdomain.com/$0 [R=302,L]
Перед тестированием вам нужно очистить кэш. Протестируйте с 302 (временным) перенаправлением и убедитесь, что оно работает, прежде чем переходить на 301 (постоянное) перенаправление - если это намерение.