首页 > 解决方案 > 我怎样才能正确地重写网址?

问题描述

我有类似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] 

但它不起作用。

标签: .htaccessredirectmod-rewriteurl-rewritingfriendly-url

解决方案


使用您显示的示例/尝试,请尝试以下操作。请确保在测试您的 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]

推荐阅读