【问题标题】:htaccess: redirect urls with actions from GET?htaccess:使用来自 GET 的操作重定向 url?
【发布时间】:2014-06-03 10:00:17
【问题描述】:

首先让我说:我几乎没有使用 htaccess 的经验,所有代码在我看来都是胡言乱语。

我有一个表单可以将访问者发送到这样的页面: mysite.com/date.php?day=2014-06-03

我希望它们自动重定向到: mysite.com/2014-06-03

我目前在我的 htaccess 中有以下代码,它已经使页面工作,旧页面还没有被重定向。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* date.php/?day=$0 [PT] 

如果有人可以看看这个,我真的很高兴。看起来这应该相当容易,但所有类似的问题对我来说只是有点不同或太难了。

编辑:

使用此问题更改了我的表单: Clean URLs for search query?

【问题讨论】:

标签: php apache .htaccess mod-rewrite redirect


【解决方案1】:

RewriteRule 指令不对查询字符串进行操作。它仅适用于路径。 您需要在查询字符串上添加条件:

RewriteCond %{QUERY_STRING} ^day=([^&]+)
RewriteRule $/date.php^ /date.php/?day=%1 [R=301,L] 

【讨论】:

  • 我尝试了上面的代码,但它并没有真正做任何事情。它仍然是完整的 URL,而不是“更干净”的 URL。。
  • 还是什么都没有。澄清一下,我是否需要从原始代码中删除任何内容?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
相关资源
最近更新 更多