当我重做公司的网站时,我希望将所有页面的扩展名从HTML更改为PHP。所以我将这些行添加到.htaccess文件中。
RewriteEngine On
RewriteRule ^/?(.*)\.html$ /$1.php [R=301,L]
然而,联系人和关于页面的信息都位于旧网站的一个文件夹中,我不想将它们放在新网站上。因此,如果我将特定的重定向置于通用的“HTML-to-PHP”重定向之上,如下所示:
redirect 301 /company-information/contact.html http://www.example.com/contact.php
RewriteEngine On
RewriteRule ^/?(.*)\.html$ /$1.php [R=301,L]
是否会在查看通用重定向之前重定向联系页面,或者它是否会一直通过.htaccess文件并覆盖文件中的任何内容。
或者我是否完全了解了这一点,还有另一种更好的方法吗?
答案 0 :(得分:1)
正如@LazyOne的评论中所提到的,优先级较高的规则应该之前 .htaccess中的优先级较低的规则
答案 1 :(得分:0)
首先,我不明白为什么要更改客户端的文件名后缀。它更好&很容易删除它。
其次,Apache's Redirect directive告诉客户端通过发送HTTP Location
标头从另一个位置获取资源。这是一个多余/无用的往返。
最好使用重写规则为用户提供不同的内容,请尝试:
RewriteCond ${REQUEST_URI} =/company-information/contact.html
RewriteRule ^(.*)$ /contact.php [L]