2013-09-05 2 views
-1

Я пытаюсь выяснить правила mod_rewrite для перенаправления по следующему адресу:mod_rewrite правила для перенаправления URL

/archives/collections/archon/index.php?p=collections/controlcard & ID = 450

к этому:

/archives/collections/archon/index.php?p=collections/findingaid & ID = 450

параметр идентификатор не будет статическим.

Спасибо за любую помощь.

текущее содержимое .htaccess:

RewriteEngine On 
Options +FollowSymlinks 
RewriteCond %{QUERY_STRING} ^p=collections/controlcard&id=([0-9]+)$ 
RewriteRule ^index.php$ index.php?p=collections/controlcard&id=%1 [R=301,L] 

ответ

0

Использование %{QUERY_STRING} вы можете сделать это следующим образом:

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase /archives/collections/archon/ 

RewriteCond %{QUERY_STRING} ^p=collections/controlcard&id=([0-9]+)$ 
RewriteRule ^index.php$ index.php?p=collections/findingaid&id=%1 [R=301,NC,L] 
+0

не делает похоже, работает ... – codeman

+0

@codeman Не работает? Также у вас есть другие правила на вашем htaccess? у вас есть несколько файлов .htaccess или только 1 в корневой папке? – Prix

+0

Не работает, насколько это не перенаправляется ни на что. Никаких других правил в .htaccess. Этот .htaccess не находится в корне, он находится в каталоге archon, может быть, это проблема? – codeman

0

Попробуйте этот код в файле: archon/.htaccess

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /archon/ 

RewriteCond %{QUERY_STRING} ^p=collections/controlcard(&.*|)$ [NC] 
RewriteRule ^(index\.php|)$ $1?p=collections/findingaid%1 [R=301,L,NC] 
Смежные вопросы