Как переписать URL-адреса с помощью Nginx admin / Apache / Wordpress - PullRequest
0 голосов
/ 09 марта 2012

У меня следующий формат URL:

www.example.com/members/admin/projects/?projectid=41

И я бы хотел переписать их в следующий формат:

www.example.com/avits/projectname/

Имена проектов не обязательно должны быть уникальными, когда пользователь создает их, поэтому я буду проверять существующее имя и добавлять целое число в конец имени проекта, если проект с таким именем уже существует. например example.project, example.project1, example.project2 и т. д.

Я рад, что настроил запрос GET для запроса базы данных по имени проекта, однако у меня возникли огромные проблемы с настройкой этих симпатичных URL.

Я использую Apache с установленным Nginx Admin, который сообщает, что весь статический контент подается через Nginx без издержек apache.

Я полностью сбит с толку относительно того, должен ли я использовать правило перезаписи nginx в моем файле nginx.conf или стандартные перезаписи в моем файле .htaccess.

Чтобы еще больше сбить с толку, хотя это довольно большое пользовательское приложение, оно построено поверх магистра WordPress для удобства работы с блогами. Это означает, что в моем распоряжении также есть встроенный модуль переписывания WordPress.

Я испробовал все три метода, но безуспешно. Я много читал по этому вопросу, но просто не могу заставить что-то работать. Я уверен, что это просто из-за полного отсутствия понимания относительно переписывания URL. В сочетании с тем фактом, что я не знаю, какой тип переписывания должен быть применим в моем случае, это означает, что я не делаю ничего, кроме хождения по кругу.

Может кто-нибудь прояснить этот вопрос для меня и объяснить, как переписать мои URL-адреса, как описано выше?

Большое спасибо.

1 Ответ

0 голосов
/ 13 марта 2012

Если вы перенаправляете все нестатические запросы файлов в Apache, сделайте там переписывание - вам не нужно ничего делать в nginx, поскольку он просто передает запросы на сервер.

проблема с тем, что вы предлагаете, заключается в том, что на самом деле это не перезапись, переписывание берет первый URL и просто меняет его или перемещает пользователя в другое место.имя из идентификатора проекта.

Например, вы можете переписать:

www.example.com/members/admin/projects/?projectid=41

To:

www.example.com/avits/41/

Довольно легко, но вы можете сопоставить это / 41 / inкод вашего приложения, чтобы изменить его на / имя_проекта / - потому что перезапись URL не может этого сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...