Перейти к публикации
iCast

RewriteRule настроить ЧПУ

Рекомендованные сообщения

iCast

Как сдлеать url вида:

 

site.com/id/1/delete

 

Есть страница

 

/delete?id=1

 

Есть предложения как сделать, но не работает

 

RewriteRule ^id/([0-9]+)/delete /delete?id=$1 [L]

Это кастомная страница, созданная мной в wp. Ярлык сл-но у нее delete

79af54d3185eb65238a7e2e58d380854b8129008

Мне кажется путь нужно другой указать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

/delete?id=1 - это уже виртуальная страница. Нужно прописывать путь к реально существующему файлу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Soul

Для создания подобного урла у статической страницы придется напрячься, лично я не знаю как решить проблему, а у обычных постов такой урл можно сделать в два клика.

Чем посты не угодили? )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

Чем посты не угодили? )

то есть можно создать пустой пост, с кастомным шаблоном, где я использую свой код, и потом сделать уже к этому посту свою ссылку?

 

Example

Let's assume you are creating a "Nutrition" page for showing nutritional information. This page uses a custom template and takes two variables, food and variety. Instead of passing ugly querystring variables to the page, you can set up a rewrite rule to create some custom pretty URLs. See below...

add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top');
 

This example would match a requested URL like this: 

example.com/nutrition/milkshakes/strawberry/ 
...and interpret it to actually mean... 

example.com/index.php?page_id=12&food=milkshake&variety=strawberry
 

Вот на что наткнулся.. Нужно дома попробовать.

 

Изменено пользователем iCast

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Soul

Ну я имею ввиду обычные записи в wp.

Поддержку "шаблонов" можно включить с помощью плагина, а url такого вида, который тебе нужен, можно сделать в настройках постоянных ссылок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

, угу, немного не то что мне нужно, но если вариантов не останется, то попробую твой вариант.

Попробую для начала плясать от этого url

/index.php?page_id=65&id=1

это тоже самое что

/delete?id=1

И попробую еще add_rewrite_rule.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Soul

В постоянных ссылках поставь произвольно и попробуй этот код дописать

ea34b88bff78bfc8a295c07bf54f0b62a2376204

 

вчера тестировал ссылки получались вида

сайт.ру/id/1/hello-world

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

, хорошо, попробую. спасибо:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

аееее.. сделал. в functions.php темы добавляем

 

add_action('init', 'my_rewrite_rule');
function my_rewrite_rule()
{
    add_rewrite_tag('%id%', '([0-9]+)'); 
    add_rewrite_rule('delete\/([0-9]+)$', 'index.php?page_id=65&id=$matches[1]', 'top');
}

где, page_id=65 можно сменить на pagename=название_страницы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...