【问题标题】:Apache mod rewrite .htaccessApache mod 重写 .htaccess
【发布时间】:2023-04-08 03:41:01
【问题描述】:

我可以使用 mod rewrite 进行基本测试,即:

RewriteEngine on
RewriteRule ^index.php$ test.php

但我真正想要完成的是更改我的动态网址,即:

detail.php?id=1

类似

detail-id-18.htm

现在这就是我所拥有的(我认为会起作用的),但当然什么都没有发生:

RewriteEngine on
RewriteRule detail-id-(.*)\.htm$ detail.php?id=$1   

【问题讨论】:

  • 是否需要detail-id前面的胡萝卜...重写?
  • @Micah,试过了还是不行

标签: apache .htaccess url-rewriting


【解决方案1】:

试试这个

RewriteEngine On
RewriteBase /
RewriteRule ^detail-id-([0-9]+)\.htm$ detail.php?id=$1

【讨论】:

  • 请给我一个您正在尝试的示例 URL。你在你的 .htaccess 中输入这个并且在你的 http 配置中设置了 +AllowOveride 对吗?如果不是,请添加它并重新启动您的 apache 服务。
  • Layke 你指的是 httpd.conf 中的 Allow 吗?如果是这样,我确实设置了
  • 正确,很抱歉返回“在此服务器上找不到请求的 URL /detail-id-15.html。
  • @Starboy -- 稍微修改 @Layke 回答的规则 -- 将 htm 更改为 html ... 或尝试访问 /detail-id-15.htm (注意文件扩展名略有不同 -- 仅3 个字符与你的相比 4).
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多