0

私は現在、Wordpress で自分のサイトの 1 つをやり直しています。このインストールは、テスト中、現在 wwww.mydomain.com/wordpress に置かれています。

私のメインサイトでは、リクエストは次のように届きます: http://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

http://www.mydomain.com/.htaccessの .htaccess は現在、次のようになっています。

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule index/newsid/(.*) index.php?newsid=$1
RewriteEngine On

現在 www.mydomain.com/wordpress/.htaccess にある私の Wordpress .htaccess は次のとおりです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress

サイトを移行すると、他のサイトからのすべてのリンクが機能しなくなります。すべての記事を別の場所にあるフォーラムのアーカイブに組み込みました。効果的に 2 つのことを行う必要があります。.htaccess を移動した後、wordpress のサイトのルートで動作させ、newsid リクエストを別の場所にリダイレクトします。

基本的に私はこれを変えたい: http://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

へ: http://www.mydomain.com/forums/index.php?showtopic=16589

ここでのプライマリ ID は 16589 で、これは変数であり、変更できます。

簡単な .htaccess ファイルを実行できますが、これは私を超えています。

4

1 に答える 1

0

WordPressのインストールをドキュメントルートに移動した後、WordPressルールのにいくつかのルールを追加する必要があります。ドキュメントルートのhtaccessファイルで次のようなことを行う必要があります。

Options +FollowSymLinks
RewriteEngine on

# redirect your newsid
RewriteRule ^index/newsid/([0-9]+)/ /forums/index.php?showtopic=$1 [L,QSA,R]

# here are the wordpress rules

# 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

代わりに301リダイレクトが必要な場合は、をに置き換えて[L,QSA,R]ください[L,QSA,R=301]

于 2013-01-15T04:20:51.203 に答える