繁体   English   中英

如何使用Nginx admin / Apache / Wordpress重写URL

[英]How do I rewrite URLs with Nginx admin / Apache / Wordpress

我有以下网址格式:

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

我想将它们重写为以下格式:

www.example.com/avits/projectname/

用户创建项目名称时,它们不必是唯一的,因此,如果存在相同名称的项目,我将检查现有名称,并在项目名称的末尾附加一个整数。 例如example.project,example.project1,example.project2等。

我很高兴设置GET请求以按项目名称查询数据库,但是设置这些漂亮的url时遇到很大的问题。

我使用安装了Nginx Admin的Apache,可以确保所有静态内容都是通过Nginx提供的,而没有apache的开销。

对于我应该在我的nginx.conf文件中使用nginx重写规则还是在我的.htaccess文件中进行标准重写,我完全感到困惑。

尽管这是一个相当大的自定义应用程序,但进一步混淆了问题,它是建立在wordpress主干之上的,以便于实现博客功能,这意味着我还可以使用内置的wordpress重写模块。

我尝试了所有三种方法,但都没有成功。 我已经阅读了很多有关此事的内容,但似乎无法解决任何问题。 我敢肯定,这完全是由于对URL重写完全缺乏了解。 再加上我不知道哪种重写适用于我的情况,这意味着我无所事事。

谁能为我解决此问题并解释如何以上述方式重写我的网址?

非常感谢。

如果您要将所有非静态文件请求代理到Apache,请在此处进行重写-您无需在nginx上做任何事情,因为它将直接将请求传递给后端。

您所提出的问题是它实际上不是重写,重写是采用第一个URL并只是将其更改或将用户移动到另一个位置。

实际上,您所需要的是从项目ID推断出项目名称的逻辑。

例如,您可以重写:

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

至:

www.example.com/avits/41/

相当容易,但是您可以将/ 41 /映射到应用程序代码中以将其更改为/ projectname /,因为URL重写无法做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM