0

我有一个动态网址

http://www.technicae.net/cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%|tag|&limit=20 

'|标签|' 和“20”部分根据标签而变化。这是一个用 perl 编写的 Movable Type 博客平台。'|标签|' part 是标签的占位符。例如,如果标签是“那里”,则 url 将是

http://www.technicae.net/cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%there&limit=20 

并不是

http://www.technicae.net/cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%|tag|&limit=20 

我想知道如何在 htaccess 中重写它,因为我尝试的一切都不起作用。我希望它是

http://www.technicae.net/tag/|tag|

代替

http://www.technicae.net/cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%|tag|&limit=20 

你能帮我么?

注意
URLS 不起作用。

4

2 回答 2

1

这就是您要搜索的内容:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^tag/([^/]+)$               cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%$1 [L]
RewriteRule ^tag/([^/]+)/limit/([^/]+)$ cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%$1&limit=$2 [L]

这将允许那些类型的 url:

  • www.domain.com/tag/<myTag>
  • www.domain.com/tag/<myTag>/limit/<myLimit>

但不是 :

  • www.domain.com/limit/<myLimit>
于 2012-06-09T23:57:11.507 回答
0

假设您使用的是 Apache,请确保您启用了 mod_rewrite。

您应该使用的 .htaccess (这可能需要调整)是:

RewriteEngine On
RewriteRule ^tag/([^\.]+)$ cgi-bin/type/mt-search.cgi?IncludeBlogs=2&tag=2%$1&limit=20 [NC,L]
于 2012-06-09T23:57:39.883 回答