我尝试了大约 10 个现有 SO 问题的答案,但无济于事。使用 Salman A 在Rewrite rule that remove query string from URL and redirect 中的回答,我创建了以下 .htaccess 文件:
Options +FollowSymLinks
RewriteBase /
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*) /$1? [R,L]
…目标是采用这样的网址:
http://www.example.com/index.php?c=web
……让它看起来像这样:
http://www.example.com/web
按照 Salman A 的回答后,网址看起来像:
http://www.example.com/?c=web
然后我在尝试剥离“?c =”部分时搞砸了一些东西——不幸的是,我不知道我搞砸了什么——然后我删除了 .htaccess 文件,因为我不想搞砸其他任何东西. 现在,即使没有 .htaccess 文件,一些 url - 特别是我在测试 Salman A 的答案时单击的三个 url - 仍然看起来像:
http://www.example.com/?c=web
...即使我删除了 .htaccess 文件。三个问题:1)为什么尽管删除了 .htaccess 文件,更改仍然存在;2)这是我需要担心的事情吗?并且,3)如何修改 .htaccess 文件以使所有 url 看起来像:
http://www.example.com/web
更新:这就是我担心的http://getluky.net/2010/12/14/301-redirects-cannot-be-undon/。如果我搞砸了 301 重定向并且新访问者访问了该网站,他们会被这个垃圾所困扰吗?有没有办法取消缓存?