0

いくつかの 301 リダイレクトを含む .htaccess ファイルがあります。以下の .htaccess コードを参照してください。3 番目の 301 リダイレクトは正常に機能します。ただし、最初と 2 番目のリダイレクトでは、404 Page not found という結果が生成されます。SOとGoogleを検索して、いくつかの解決策を見つけました。しかし、それらのどれも機能していません。

以下は私の.htaccessファイルです:

# 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>

Redirect 301 /page.php?page=8  http://www.mydomain.com/about-us/

Redirect 301 /page.php?page=5  http://www.mydomain.com/contact-us/

Redirect 301 /testimonial.php http://www.mydomain.com/testimonials/

提案してください。

4

2 に答える 2

1

このようにすればうまくいくと思います(このhttp://httpd.apache.org/docs/current/en/mod/mod_alias.html#redirectによると):

Redirect 301 /page.php http://www.mydomain.com/contact-us/

しかし、それはあなたが期待したことをしていません。だから私はこれらのルールを提案します

RewriteCond %{QUERY_STRING} (^|&)id=8(&|$)
RewriteRule ^page\.php http://www.mydomain.com/about-us/ [R=301,L]

RewriteCond %{QUERY_STRING} (^|&)id=5(&|$)
RewriteRule ^page\.php http://www.mydomain.com/contact-us/ [R=301,L]

それが最善の方法かどうかは本当にわかりません。

于 2013-08-27T13:40:47.747 に答える
1

ここSOとgoogle.comで多くのことを試しました。何も機能しませんでした。最後に、私は別のアプローチを使用しました。page.php ファイルを作成し、そこで次のコードを使用しました。

$page = $_GET['page'];
switch ($page) {
case 6:
$link = 'http://webindream.com/about-us/';
break;

case 7:
$link = 'http://webindream.com/contact-us';
break;

default: 
$link = 'http://webindream.com/';


}

header("Location: $link", true, 301);

これが誰かが.htaccessを取り除き、スムーズにリダイレクトするのに役立つことを願っています.

于 2013-08-29T14:46:06.430 に答える