Почему мой htaccess не включает подкаталоги при перенаправлении на www? - PullRequest
0 голосов
/ 12 мая 2019

Я недавно сделал сайт.Я пытаюсь заставить www, поэтому, если кто-то вводит site.com, он автоматически перенаправляет на www.site.com.Это работает, однако, когда кто-то вводит site.com/abc, он перенаправляет на www.site.com.Я хотел бы вместо этого перенаправить на www.site.com/abc/.Это возможно?Ниже приведен код в htaccess:

#RewriteEngine On
#RewriteCond %{HTTP_HOST} ^example.com [NC]
#RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

Также Wordpress автоматически добавил этот код внизу, может быть, это как-то связано с проблемой?:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

1 Ответ

0 голосов
/ 13 мая 2019

Сбой, потому что htaccess не получает подкаталоги, $ 1 всегда пуст, когда он должен иметь подкаталог.

Условие перезаписи также должно иметь $, чтобы перехватить подкаталог и передать его в rewriterule.$ 1:

#RewriteEngine On
#RewriteCond %{HTTP_HOST} ^example.com$ [NC]
#RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

Или вы можете использовать этот пример, он работает для любого домена, а также для http и https:

# Redirect to www
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...