Я работаю с mod_rewrite под .htaccess, и я пытаюсь перенаправить (R = 301) URL, как это:301 Перенаправление с mod_rewrite
http://domain/index.php?folder=AB_CD
к URL, как этот
http://domain/AB/CD/
Как я могу написать правило, пожалуйста?
Я работаю с mod_rewrite под .htaccess, и я пытаюсь перенаправить (R = 301) URL, как это:301 Перенаправление с mod_rewrite
http://domain/index.php?folder=AB_CD
к URL, как этот
http://domain/AB/CD/
Как я могу написать правило, пожалуйста?
Попробуйте следующий код в корень/.htaccess:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^folder=([^_]+)_([^&]+)$ [NC]
RewriteRule ^index\.php$ http://domain.com/%1/%2/? [NC,L,R]
Explaination:
RewriteCond %{QUERY_STRING} ^folder=([^_]+)_([^&]+)$ [NC]
Проверяет, что URL (index.php) имеет строки запроса с определенным ключом и значением, (папка = foo_bar) в соответствии с шаблоном регулярного выражения, если URL имеет действительные строки запроса, тогда правило обрабатывается.
RewriteRule ^index\.php$ http://domain.com/%1/%2/? [NC,L,R]
index.php? Query_strings перенаправляется в/query/strings, если условие выполнено.
Пустой знак вопроса ? в конце цели Rewrite важно, поскольку он отбрасывает строки запроса orignal без переадресации /index.php?folder=foo_bar в/foo/bar /? Folder = foo_bar, добавляя старые строки запроса.
(Надеюсь, это поможет!)
Благодарим вас за ответ –