我怎样才能正确地重写网址?

Posted

技术标签:

【中文标题】我怎样才能正确地重写网址?【英文标题】:How could I rewrite urls properly? 【发布时间】:2021-08-16 18:38:21 【问题描述】:

我有像 http://url.com/top_admin/order.php?do=view&oid=124 这样的 URL 和 我需要将其重写为 http://url.com/top_admin/order/view/124 ,其中 top_admin 是一个包含我的脚本的文件夹。 这是我的代码:

Options +FollowSymLinks
RewriteEngine on                                          
RewriteRule ^order/(.*)/([0-9]+) order.php?do=$1&oid=$2 [L] 

但它不起作用。

【问题讨论】:

【参考方案1】:

使用您显示的示例/尝试,请尝试以下操作。请确保在测试您的 URL 之前清除您的浏览器缓存。

Options +FollowSymLinks -MultiViews
RewriteEngine ON
RewriteCond %THE_REQUEST \s/(top_admin/order)\.php\?do=([^&]*)&oid=(\d+)\s [NC]
##Rule for external rewrite with 301.
RewriteRule ^ /%1/%2/%3? [R=301,L]
##Rule for internal rewrite to .php file.
RewriteRule ^([^/]*)/([^/]*)/(.*)/?$ $1.php?do=$2&oid=$3 [L]

【讨论】:

以上是关于我怎样才能正确地重写网址?的主要内容,如果未能解决你的问题,请参考以下文章

无法获得多个前缀来使用 discord.js。我怎样才能重写它以便它识别两个前缀?

如何在apache中重写url

烧瓶重写网址

网址重写 - 这会导致安全问题吗?

网址重写导致 Magento 管理员无法访问

怎么重写toString()才能把数组打印出来