4

我想重写 URL,以便当用户访问时;

http://www.example.com/applications/newWeb/www/index.php?page=48&thiscontent=2660&date=2013-10-11&pubType=0&PublishTime=09:30:00&from=home&tabOption=1

如果 URL 包含thiscontent=2660(在上面的示例中确实如此)我想将它们重定向到;

http://www.example.come/index.php/publications/finance-and-economics/departmental-resources

我有大约 30 种不同的thiscontent=XXXX类型,并且想象我将不得不复制和编辑此规则 30 次不同的时间,以便我的旧网站的任何链接仍然存在。

我可以访问我的 httpd.conf 文件,但以前从未做过 mod_rewrite。

我也真的不需要这些在错误日志中显示为 301。那会发生吗?因为目前有数百个!

4

1 回答 1

7

首先,您需要确保 mod_rewrite 已加载。该行应该在您的 httpd.conf 中取消注释:

LoadModule rewrite_module modules/mod_rewrite.so

然后你可以使用这些规则:

RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)thiscontent=2660(&|$)
RewriteRule ^/?applications/newWeb/www/index\.php$ http://www.example.come/index.php/publications/finance-and-economics/departmental-resources? [L,R=301]

是的,你需要专门设置每一个,所以你需要其中的 30 个(但只需要RewriteEngine On一次。你也可以将这些规则放在文档根目录的 htaccess 文件中。

于 2013-10-21T16:36:59.810 回答