1

http://blabla.com/でdokuwikiを実行していますが、追加のURLhttp ://wiki.com/があります。

私が欲しいのは、http://blabla.com/test/gnaまたは他の何かを要求するユーザーをdokuwikiのデフォルトの.htaccessに害を与えることなくhttp://wiki.com/test/gnaにリダイレクトすることです

<Files ~ "^([\._]ht|README$|VERSION$|COPYING$)">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

RewriteEngine on

RewriteBase /dev/

RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
RewriteRule ^index.php$               doku.php

このようなものを最後または最初に追加するだけでは、まったく効果がありません。

Rewritecond %{HTTP_HOST} !blabla.com/
RewriteRule ^/(.*)$ http://wiki.com/$1 [L,R=301]
4

2 に答える 2

2

以下の行を使用してみてください。

# Any URL from blabla.com will be redirected to corresponding URL on wiki.com
Rewritecond %{HTTP_HOST} ^blabla.com$
RewriteRule ^(.*)$ http://wiki.com/$1 [L,R=301]
于 2012-07-31T17:37:51.097 に答える
1

先頭のスラッシュを削除してみてください。htaccessファイルの書き換えルールを介してURIを渡すときに、apacheはそれを削除します。

Rewritecond %{HTTP_HOST} blabla.com
RewriteRule ^(.*)$ http://wiki.com/$1 [L,R=301]

おそらく他のルールの上に追加して、リダイレクトされたターゲットdoku.php?id=stuffのURLが含まれないようにする必要があります。

于 2012-07-31T17:23:26.840 に答える