2

次の書き換えルールがあります。

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [R=301,L]

それは機能し、以下を変更します。

http://bag-saver.com/uk/shop/white/clutch-bags/

の中へ:

http://bag-saver.com/uk/shop/clutch-bags/?tags=white

でも、301はいらない。単純にURLを書き換えたい。私は次のことを試しました:

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [QSA,L]

しかし、R=301 を削除するとすぐに、ページが見つからないというエラーが発生します。

どうしてこれなの?

編集 - 残りのルールは次のとおりです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*)-[0-9]{9}[0-9]+/$ /$1/ [R=301,L]
RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
4

2 に答える 2

2

[P]フラグを使用する

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [P]


他のオプションを更新R=301するには、強制リダイレクトを回避するためにを削除するだけです

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [L]
于 2012-09-23T23:30:56.980 に答える
-1

ページが見つからないというエラーを修正するindex.phpには、Apacheでデフォルトのページとして設定してみてください。それがない場合は、apache構成ファイルを開きますhttpd.conf

vi httpd.conf

次のように読まれる行を見つけてください:

DirectoryIndex

次に、要件に従って設定します。

DirectoryIndex index.html index.htm index.php

ファイルを保存して閉じます。ApacheWebサーバーを再起動します。

/etc/init.d/httpd restart

Apache構成ファイルにアクセスできない場合は注意してください。ファイルに追加DirectoryIndexします.htaccess

于 2012-09-23T05:10:16.203 に答える