2013-03-31 3 views
0

я работаю на WordPress и хотел бы осуществить перенаправление таким образом, что если кто-то хочет посетить URL с любым идентификатором:Перенаправление на новую страницу со значением аргумента

http://www.example.com/123456789 

будет перенаправлен

http://www.example.com/search.php?id=123456789 

Любая идея, как я могу достичь этого? Я считаю, что я должен использовать файл .htaccess, но любая помощь будет высоко оценен ..

EDIT Стандартных правил я имею в .htaccess является

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteBase /wordpress/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /wordpress/index.php [L] 
</IfModule> 

# END WordPress 
+0

Невозможно сделать это, не принимая во внимание набор правил WP. Это стандартный? –

+0

Я новичок в Wordpress, что такое стандартное правило? –

+0

Проверьте файл .htaccess в каталоге установки WP и скопируйте + вставьте его содержимое в вопрос. Если это новая установка, блок правил должен быть стандартным, но лучше быть уверенным. –

ответ

1

Вы можете попробовать заменить правило, установлено в вашем вопрос со следующим:

# BEGIN Wordpress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /wordpress/ 
RewriteRule ^index\.php$ - [L] 

# Add this line 
RewriteCond %{REQUEST_URI} !/document   [NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /wordpress/index.php [L] 

# Add these lines 
RewriteCond %{REQUEST_URI} !search\.php   [NC] 
RewriteCond %{REQUEST_URI} /document/([^/]+)/? [NC] 
RewriteRule .* /wordpress/search.php?id=%1  [L,NC] 

</IfModule> 
# END Wordpress 

Последнее правило сопоставляется молча:

http://localhost/wordpress/document/123

To:

http://localhost/wordpress/search.php?id=123

где 123 является динамической строки.

Для постоянного перенаправления замените последний [L, NC] на [R = 301, L, NC].

+0

Просто забыл упомянуть, этот идентификатор является динамическим, он может быть любым id, независимо от его идентификатора, он должен быть перенаправлен на search.php с данным идентификатором как параметр url. –

+0

Вот что мне было интересно. Я могу изменить ответ, чтобы исключить из правила правила WP все запросы, которые не относятся к '/ wordpress /'. Было бы хорошо? Возможно, у вас есть другая идея идентифицировать запросы, которые вы хотите исключить из правил WP. Должен быть образец. –

+0

не можем ли мы использовать что-то вроде '$' для представления какого-либо идентификатора? –

Смежные вопросы