0

すべてのページを URL example.com/big-changes-for-2013/ のブログ投稿にリダイレクトしようとしています (末尾のスラッシュを含む)

私はサイトの残りの部分に取り組んでいるので、リダイレクトしたくありません。これは私がこれまでに持っているものです(これは .htaccess リダイレクトです):

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/big-changes-for-2013/$ 
RewriteCond %{REMOTE_ADDR} !^50\.137\.88\.129
RewriteRule $ /big-changes-for-2013/$ [R=302,L] 

リダイレクトされないようにする部分が機能します。機能しない部分は、リダイレクト自体であり、無限ループです。

上記のコードは、thisthisの組み合わせに基づいています。

何か案は?

4

2 に答える 2

0

以下で解決:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REMOTE_ADDR} !^50\.137\.88\.129
RewriteCond %{REQUEST_URI} !^/(big-changes-for-2013/)
RewriteRule ^(.*) /big-changes-for-2013/ [L,R=301]
</IfModule>
于 2013-01-03T21:02:29.913 に答える
0

試す

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^50\.137\.88\.129
RewriteRule ^(?!big-changes-for-2013/$) /big-changes-for-2013/$ [R=302,L] 

規則 regexp は、否定先読みアサーションと呼ばれるものです。「以外のものに一致」という意味big-changes-for-2013/$です。

于 2013-01-03T17:03:25.860 に答える