[英]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.