【问题标题】:Rewrite rule (page doens't have get values)重写规则(页面没有获取值)
【发布时间】:2012-06-15 11:43:40
【问题描述】:

亲爱的 Stackoverflowers,

我正在尝试重写功能,所以我在互联网上阅读了一些关于它是如何工作的。 显然,我想不通,所以我决定使用这个http://www.generateit.net/mod-rewrite/ Web 应用程序为我编写一个。但是如果我现在使用它,我会显示我的页面,但不会显示工作样式表、$_GET 值和包含。

我的原链接:http://web.awitgoed.nl/artikelen.php?c=stofzuigers

我想要的那个:http://web.awitgoed.nl/artikelen/stofzuigers.html

这是我从生成器得到的代码:

RewriteEngine On
RewriteRule ^artikelen/([^/]*)\.html$ /artikelen.php?c=$1 [L]

我猜问题是'artikelen'末尾的斜线,因为它认为它是一个子目录或什么?文件“artikelen.php”在根目录中。

提前致谢, 德拉诺


更新:所以我决定在我的本地主机上试一试,感谢 Matthew,现在视觉效果很好,但参数 ($_GET) 仍然没有通过。是否需要更改任何服务器端设置才能使其正常工作?

【问题讨论】:

  • 如果你在页面上执行 print_r($_GET) 会发生什么,你会得到什么吗?

标签: apache url include rewrite


【解决方案1】:

您需要在页面中添加前导斜杠,以便它从根开始,所以

<script src="javascript/jquery.js"></script>

会变成

<script src="/javascript/jquery.js"></script>

【讨论】:

  • 谢谢,这似乎至少解决了视觉问题。但我仍然没有得到我的 $_GET['c'] 价值。这是 artikelen/$_GET['C']value 背后的部分。
  • 是的,我是。另外,get 变量的完整 var_dump 是空的。
  • 您的页面必须正在重定向,否则会在某处重置。
猜你喜欢
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2023-03-31
  • 2012-08-12
相关资源
最近更新 更多