0

我的任务是更改站点上的 100 个 .htm 文件以仅显示联系页面。与更改文件一样,我想只使用 .htaccess 文件并将所有包含“.htm”或“.html”的请求强制到contact.htm页面。

我对 .ht_access 文件的了解非常有限,而我拥有的通过 index.php 强制所有请求的文件不起作用,因为重写条件之一是检查文件是否真实。

任何建议或提示将不胜感激:

 // My .htaccess rules at the moment:
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ contact.htm [NC,L]
4

2 回答 2

1

你可以尝试这样的事情:

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

RewriteRule ^[^\.]*\.htm$ contact.htm [NC,L]

这将替换.htm以 contact.htm结尾的所有内容

编辑:犯了一个错误,检查并修复它

于 2013-01-23T19:14:17.920 回答
0

如果您想维护您的 SEO 并防止链接失效(这很糟糕),您需要让客户知道旧的 HTML 文件不再有效:

RedirectMatch 301 ^.*html?$ http://example.com/contact.html

编辑:作为一个有趣的旁注,返回 410可能是更合适的响应

于 2013-01-23T19:19:04.813 回答