我们正在从一种站点语言/CMS(coldfusion/custom)转移到另一种(PHP/Drupal),并且需要将我们的一些旧页面重定向到新页面。我可以访问 .htaccess 和 httpd.conf(和 apache2.conf),因为这是 Linode 上的 vps。
它们中的大多数不能通过正则表达式完成(它们在 URL 中包含 GUID),我们可以编写静态重定向。
这是一个例子:
RewriteRule /show.cfm/FG3f4-30F1G/ http://www.mysite.com/john-smith [R=301]
就是这样...我已经尝试了以^开头的语法,以美元符号结尾,但似乎都不起作用。
我可能对 RewriteCond 所扮演的角色有误解——.htaccess 中已经有其他行。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
指定 RewriteRule 后是否需要重新声明 RewriteCond?
另外——理想情况下,为了保持 .htaccess 中的清洁度,我想使用 RewriteMap,我可以在其中指定一个文本文件,并且只有两个制表符分隔的“旧 url | 新 url”列......但我可以也不能让它工作(如果它甚至适合使用)。
任何想法都会受到欢迎......