我有这个网址:
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
答案 0 :(得分: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]
答案 1 :(得分:0)
这适用于Apache:
RedirectMatch 301 ^/subfolder/$ http://www.example.com/