我已将旧网站从静态 html 页面移至 drupal。现在我想将旧页面(请求时出现 404 错误)重定向至新的 drupal 节点。
最好的方法是什么?如何做?可以使用 .htaccess 指令来完成吗?
答案1
如果您不知道地址是什么,创建一个捕获所有 URL 会是一个好方法,但这可能会给 drupal 的工作部分带来一些问题。
如果您知道旧页面的 URL,您可以创建一个简单的地图,或者仅使用 .htaccess 的简单规则会是更安全的路线。
以下是一个包罗万象的例子:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule . index.php
上述规则将重定向域中不存在的任何文件或文件夹,而不是 index.php,并将其重定向到 index.php。
另一种方式是了解 URL 并执行以下操作:
RewriteEngine on
# screenshot's page
RewriteRule ^(screenshot.html)$ index.php?section=screenshot [R=301,L]
可能还有其他方法,但我能立即想到的就是这两种方法。