Htaccess: Заменить /filename.asp?FOO to/new/folder/FOO

Я пытаюсь создать перенаправления 301.htaccess и с трудом выяснять, как правильно перенаправить/переписать.

Например, вот оригинальный URL:http://domain.com/filename.asp?abc

Теперь хочу, чтобы это было: http://domain.com/new/folder/abc

Как?

Единственное, что я получил, это:

RewriteCond %{QUERY_STRING} abc$ 
RewriteRule (.*) /new/folder/abc? [R=301,L]

Но это не эффективно и является специфичным только для элемента после? У меня есть несколько запросов, и повторение вышеуказанного не очень эффективно.

Пробовал в google это несколько раз, но каждое перенаправление, которое я нашел, касалось? Any = param

Любая помощь ценится!

Благодаря,

луг

1 ответ

Догадаться:

RewriteCond %{REQUEST_URI} ^/filename\.asp$
 RewriteCond %{QUERY_STRING} &?([^&]+)&?
 RewriteRule ^filename.asp$ new/folder$1/%1? [R=301,L]

Затем, когда я сделал 301 перенаправление, я просто сделал это так:

Redirect 301 /new/folder/abc /new/folder/longer-url-string

licensed under cc by-sa 3.0 with attribution.