.htaccess - 我怎样才能正确地重写网址?
问题描述
我有类似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]
但它不起作用。
解决方案
使用您显示的示例/尝试,请尝试以下操作。请确保在测试您的 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]
推荐阅读
- ios - 在 CollectionView 中使用 SDWebImage 的疯狂内存问题(在 tableviewCell 内)
- csv - 将订单日期和订单总额列添加到 woocommerce 报告 csv
- swift - 表查看两个不同单元格的相同 cellForRowAt 用法
- asp.net-mvc - Controller.OnException 被调用但返回错误 500,仅在生产中
- c++ - Visual Studio 选择启动项
- android - 三星上的安卓振动器
- arrays - 将 nsmanganedobject 转换为数组以查找数组的平均值
- database - 在性能方面,数据库是读优化还是写优化更好?
- django - 是否可以在 Django 中组合多个 values_list() ?
- r - “mean.default(X [[i]],...)中的错误:'trim'必须是长度为1的数字”R中的消息