0

我有这个网址:

http://www.example.com/some-annoying-folder/page.html?name=stack+overflow

但该文件实际上位于根目录中,应如下所示:

http://www.example.com/page.html?name=stack+overflow

此外,还有类似的子目录也需要修改。

尽管我使用 htaccess,但我仍然很难适应它。

在此先感谢您的帮助!

更新:

RewriteEngine On
Options +FollowSymLinks

RewriteRule .*(schedule.html|tickets.html|venue.html|city.html|concerts.html)$ $1 [L,R=302,QSA,NC]

#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
#END WordPress
4

2 回答 2

1

给定 OP 的额外输入 - 假设 page1.html 和 page2.html 是两个文件,它们前面有不存在的目录。此规则将解决:

RewriteRule .*(page1.html|page2.html)$ $1 [L,R=302,QSA,NC]

如果你有更多这样的文件,你可以简单地将它们添加到上面,用|上面的分隔符分隔。

使用更多信息编辑修改的规则:

RewriteRule .+/(schedule.html|tickets.html|venue.html|city.html|concerts.html)$ $1 [L,R=302,QSA,NC]
于 2012-05-23T21:07:50.223 回答
0

这应该适用于 Apache:

RedirectMatch 301 ^/subfolder/$ http://www.example.com/
于 2012-05-23T20:41:06.150 回答