我希望在用户访问时重写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
并且如果网址包含thiscontent=2660
(在上面的示例中,它确实如此)我想将它们重定向到;
http://www.example.come/index.php/publications/finance-and-economics/departmental-resources
我有大约30种不同的thiscontent=XXXX
类型,并想象我将不得不复制和编辑此规则30次,因为我的旧网站的任何链接仍然在那里敲门。
我可以访问我的httpd.conf文件,但之前从未做过mod_rewrite。
我也不需要在错误日志中显示为301s。那会发生吗?因为目前有数百个!
答案 0 :(得分: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文件中。