0

我的 htaccess 文件中有一些将 php 查询字符串转换为路径的规则。它看起来像这样:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*?)/?$ index.php?s=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\?s=([^\s]*)
RewriteRule ^/?(.*?)/?$ %1?%2%3 [L,R=301]

现在所有的 URL,如 mysite.com/index.php?s=whatever 都被转换为 mysite.com/whatever ,所以它可以按预期工作。但是,由于我的网站曾经是在 html 上,并且仍然有很多链接指向不再存在的 html 页面,我希望它们重定向到新的 php 对应项。因此,如果有人点击了 mysite.com/whatever.html 的链接,它应该会自动将他们带到 mysite.com/whatever。我尝试了下面的代码:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html?$ / [NC,R,L]

但我不知道如何将两者结合起来。请问有什么提示吗?

谢谢你。

4

1 回答 1

0

尝试在您的 .htaccess 中添加此代码:

RewriteRule ^([A-Za-z0-9]+).html$ http://mysite.com/$1 [R=301,L]
于 2013-06-06T07:50:25.973 回答