При использовании встроенного поиска Wordpress в качестве пользователя, при поиске в терминах типа "кемпинг" будет получен адрес, в котором перед параметрами отсутствует косая черта.
Пример: https://www.yourdomain.com/blog?s=camping
Поскольку между доменом и поисковым запросом отсутствует косая черта, это приводит к перенаправлению 301 на https://www.yourdomain.com/blog/. (в частности, HEADER отображает 301 с расположением https://www.yourdomain.com/blog/ вместо https://www.yourdomain.com/blog/?s=camping.)
Ввод https://www.yourdomain.com/blog/?s=camping работает должным образом и приводит пользователя к результатам поиска с использованием шаблона search.php
.
Вы можете увидеть это в действии в командной строке.
curl -i https://www.yourdomain.com/blog?s=camping
HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: keep-alive
Date: Thu, 18 Apr 2019 05:34:25 GMT
Content-Type: text/plain
Content-Length: 0
Www-Authenticate: Basic realm=""
Cache-Control: no-cache
X-Request-Id: 2b41e703-10d6-47f3-8656-97ddaaac6e72
X-Runtime: 0.013453
Vary: Accept-Encoding, Origin
Strict-Transport-Security: max-age=15552000; includeSubDomains
Via: 1.1 vegur
curl -i https://www.yourdomain.com/blog/?s=camping
HTTP/1.1 302 Found
Connection: keep-alive
Date: Thu, 18 Apr 2019 05:34:35 GMT
Server: Apache
X-Powered-By: PHP/7.0.31
X-Redirect-By: WordPress
X-Frame-Options: SAMEORIGIN
Location: https://www.yourdomain.com/blog/search/camping
Cache-Control: max-age=172800
Expires: Sat, 20 Apr 2019 05:34:34 GMT
Access-Control-Allow-Origin: *
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Via: 1.1 vegur
Мой файл .htaccess:
<VirtualHost *:*>
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /blog https://www.yourdomain.com
ProxyPassReverse /blog https://www.yourdomain.com
</VirtualHost>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
Среди того, что я пробовал, добавлю это ниже # END WordPress
, думая, что я мог бы поймать пропущенную косую черту и добавить ее, которая не работала:
# END WordPress
#Add a trailing slash to query strings
RewriteCond %{QUERY_STRING} ([^/]+)$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1/ [R,L]
Идеи? Другая информация, которую я должен предоставить?
Я пытался создать постоянные ссылки. Я перезапустил Apache через командную строку. Я немного растерялся.
Другая информация:
Это установка Bitnami, в которой активен файл .htaccess
, а не htaccess.config
, поскольку при обновлении постоянных ссылок в меню «Настройки»> «Постоянные ссылки» выполняется автоматическое обновление файла htaccess.
Страницы и сообщения загружаются без конечного редиректа через косую черту через 301 и правильное расположение в заголовке без проблем.
Я могу опубликовать дополнительную информацию о настройках wp-config для ProxyPass, если они тоже полезны.