0

これを聞いて申し訳ありません...私はこれについてさまざまな答えを見てきましたが、私を助けるものを見つけることができません(私はこのプロセスに非常に慣れていないのでおそらく)

ここに問題があります。人々が行くようにサブドメインを偽造したいのですsub.domain.co.ukが、サーバーはそれを読み取り、domain.co.uk/?event=sub他の乳母車を追加することができsub.domain.co.uk/Loginますdomain.co.uk/?event=sub&url=Login

私がこれまでに持っているコードはこれです:

RewriteCond %{REQUEST_URI}  !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

# Rewrite event / url / action1 / action 2 etc.
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC]
RewriteRule ^/$ /index.php?event=%1 [QSA,L,NC]
RewriteRule ^([^/]*)/$ /index.php?event=%1&url=$1 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2&action2=$3 [QSA,L,NC]

これはほとんどあります...URL、action1、action2を取得しますが、イベントは取得しません!../離陸すると、このようRewriteRule ^$ index.php?event=%1 [QSA,L,NC]になりますが、イベントを取得しますが、次のコマンドをロードしようとしました。

sub.domain.co.uk

負荷

domain.co.uk/?event=sub&url=

action2をロードすると404が発生するため、これはバガーです。誰かが私を狂わせるのを手伝ってくれます

4

1 に答える 1

0

まさにこれは私が行ったダウンで汚い修正です。私の.htaccessは次のようになりました:

# Rewrite event / url / action1 / action 2 etc.
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC]
RewriteRule ^/$ /index.php [QSA,L,NC]
RewriteRule ^([^/]*)/$ /index.php?url=$1 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2&action2=$3 [QSA,L,NC]

そしてphpで私はこれを持っています:

$sub = explode ( '.' , $_SERVER['HTTP_HOST'] );
$event = $sub[0] == 'www' || $sub[0] == 'domain' ? false : $sub[0] ;

これで、$eventvarがロードされているかどうかを確認できます...

誰かがよりクリーンな方法を持っているなら、私はすべての耳ですが、これは私のために働いていますHUZZAR

于 2013-03-02T13:13:40.327 に答える