В .htaccess
файле моего сайта, у меня есть:301 редирект не работает, когда я думаю, что он кодируется правильно
Redirect 301 /?page_id=2276 http://www.orsgroup.com.au/community-newspaper/
Когда я загружаю http://www.orsgroup.com.au/?page_id=2276 он не перенаправляет на всех.
Не понимаю, почему. Ты можешь?
Обновление: Теперь я понимаю, что вы не можете перенаправлять URL-адреса с строками запросов, как указано выше.
Я добавил следующее в файл .htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?page_id$
RewriteCond %{QUERY_STRING} ^2276$
RewriteRule ^(.*)$ http://www.orsgroup.com.au/community-newspaper/ [R=301,L]
</IfModule>
но страница http://www.orsgroup.com.au/?page_id=2276 не перенаправлять с этим обновлением.
Update2: Я пробовал:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^?page_id=2276$
RewriteRule ^(.*)$ http://www.orsgroup.com.au/community-newspaper/ [R=301,L]
</IfModule>
Но перенаправляет http://www.orsgroup.com.au/community-newspaper/?page_id=2276
Как и в случае с 'RewriteRules', команда' Redirect' работает с URL-адресами. Часть запроса _not_ считается частью URL-адреса, поэтому вы не можете сравниться с ней. Правило не указано «правильно». Прочтите это: https://simonecarletti.com/blog/2009/01/apache-query-string-redirects/ – arkascha
Тот же вопрос, извините. '% {REQUEST_URI}' does _not_ содержит строку запроса. Взгляните на официальную документацию, она поставляется с действительно хорошими примерами: http://httpd.apache.org/docs/current/mod/mod_rewrite.html – arkascha