【问题标题】:Dynamic mod-rewrite rule for htaccesshtaccess 的动态 mod-rewrite 规则
【发布时间】:2015-05-10 13:12:42
【问题描述】:

有人可以帮我为我的 .htaccess 制定匹配规则吗?

我希望在搜索引擎上编入索引的旧网址如下:

http://www.domain.com/watch.php?id=ANY_ID

自动重定向到:

http://www.domain.com/watch/ANY_ID

编辑:

我试过了:

RewriteEngine On
RewriteRule ^watch/([^/]*)$ /watch.php?id=$1 [L]

还有这个:

Options +FollowSymLinks
RewriteEngine on
RewriteRule watch/(.*) watch.php?id=$1

但对我不起作用。

【问题讨论】:

  • @NathanTuggy - 我不确定为什么问题被命名为该问题的重复项。我理解为什么要提出它(这很有帮助),但它不是重复的。
  • @MikeRockett:如果你愿意的话,这更像是可能重复而不是可能重复。
  • @NathanTuggy - 对,明白了。

标签: .htaccess mod-rewrite url-rewriting


【解决方案1】:

您只包含了在内部将新 URI 映射/重写到旧 URI 的代码。如果您还想将旧 URI 重定向到新 onw,则可以在 /.htaccess 文件中使用以下内容:

RewriteEngine on

# Prevent loops
RewriteCond %{ENV:REDIRECT_STATUS} !200

# Check for old URI and redirect to new URI
RewriteCond %{QUERY_STRING} ^id=([\d]+)$
RewriteRule ^watch.php$ /watch/%1? [R,L]

# Map new URI to file
RewriteRule watch/(.*) /watch.php?id=$1 [L]

【讨论】:

    猜你喜欢
    • 2015-09-22
    • 1970-01-01
    • 2013-01-13
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多