【问题标题】:.htaccess basic mod rewrite.htaccess 基本模组重写
【发布时间】:2013-03-19 02:02:40
【问题描述】:

我才刚刚开始学习如何使用 .htaccess 文件重写 url。

我将如何改变:

http://www.url.net/games/game_one.php

进入这个:

http://www.url.net/games/game-one/

这是我一直在尝试的

RewriteRule    ^/games/game-one.php    ^/games/game-one/    [NC,L]

【问题讨论】:

  • 重写规则 ^/games/game_one.php ^/games/game-one/ [NC,L]
  • 正则表达式就像外星人跟我说话:(
  • 我们都必须研究外星人的神秘符文……他们有力量!
  • 我只是希望外星人说话不是乱码o.O

标签: .htaccess


【解决方案1】:

如果您希望人们明确地使用 /games/game-one/,您必须重写以使其请求 /game/game-one.php。因此,与您的问题相反。

RewriteEngine On
RewriteRule ^games/game-one/$ /games/game-one.php

如果您也想重写其他 URL,那么您需要使用类似于先前答案的技术。

【讨论】:

  • 哦,呵呵,是的,她可能把它弄反了。专注于解释正则表达式,甚至没有注意到:)
  • @Gus 这是一个很难描述的话题(即使你不会说外星人!)
  • @AmyNeville 快乐。网上有一些很好的正则表达式指南/备忘单。值得追捕以及就 SO 提出问题!
【解决方案2】:

试试这个:

RewriteRule ^(/games/game-one)\.php $1/

这就是匹配以 /games/game-one 开头的任何内容并记住该匹配的第一部分,然后将其替换为第一部分(在正则表达式中捕获组)和一个斜线字符。请注意,要匹配句点字符,您必须在其前面加上 \,因为 . 是一个特殊字符,表示“任何字符”(至少如果您想避免匹配任何字符)。

【讨论】:

  • 是的,我明白了。嗯,虽然在我的网站上不起作用。无论如何,我会给你一个 +1 的帮助:)
  • 你有RewriteEngine on 指令吗?
猜你喜欢
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
相关资源
最近更新 更多