0

私はこのURLを持っています:

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 が、存在しないディレクトリが先頭に追加された 2 つのファイルであるとします。このルールはそれを修正します:

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 に答える