0

簡単な質問

この .htaccess コードに変更domain.com/folder/client.php?id=1しました1.domain.com

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$ [NC]
RewriteRule ^$ /client.php?id=%2 [QSA,NC]

今私はに変更domain.com/folder/about.php?id=1したい1.domain.com/about

出来ますか ?またはこれを行う他の方法はありますか?

ありがとう:D


古い質問

私のディレクトリには、2 つのページ ( client.phpabout.php) があります。すでにページ ディレクトリにワイルドカード サブドメインを設定しdomain.com/folder/client.php?id=11.domain.com. これは私の .htaccess コードです:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$ [NC]
RewriteRule ^$ /client.php?id=%2 [QSA,NC]

ここで、別のページを追加する必要があります。そのため、client.php ページには、同じディレクトリ内の about.php ページに移動するためのボタンがあります。1.domain.com/about.php を試しましたが、うまくいきません。

RewriteCond の別の行を作成する必要がありますか? またはこれを行う他の方法はありますか?

どうもありがとうございました:D


作業 ID なしで更新されたコード

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.domain.com$             [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$   [NC]
RewriteCond %{REQUEST_URI} !^/about                    [NC]
RewriteRule ^$ /client.php?id=%2                   [QSA,NC]

RewriteBase /
RewriteCond %{HTTP_HOST} !^www.domain.com$                [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.]+)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/about                        [NC]
RewriteCond %{REQUEST_URI} !about\.php                    [NC]
RewriteRule . /about.php?id=%1                            [L,QSA]

**コードは URL ボックスのテキストを解決しました。としましょうid=1。現在、1.domain.com/about が表示されています。

the php code : `$_GET["id"]` is not specified.**

編集してくれたfaaに感謝します:D


完全なソリューション

5 ページ (ワイルドカード サブドメイン) での mod-Rewrite の使用を参照してください。

4

1 に答える 1

0

あなたはこれを試すことができます:

Options +FollowSymLinks
RewriteEngine on

## This is the actual rule-set that works as it is according to the OP
RewriteCond %{HTTP_HOST} !^www.domain.com$             [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$   [NC]
# Added to exclude folder `/about`
RewriteCond %{REQUEST_URI} !^/about                    [NC]
RewriteRule ^$ /client.php?id=%2                       [L,QSA,NC]

## This is the additional rule set
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.domain.com$             [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.]+)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/about                     [NC]
RewriteCond %{REQUEST_URI} !about\.php                 [NC]
RewriteRule . http://domain.com/folder/about.php?id=%1 [L,QSA]

静かにマップ

http://N.domain.com/about末尾のスラッシュの有無にかかわらず

に:

http://domain.com/folder/about.php?id=N

永続的で目に見えるリダイレクトの場合は、次のように置き換え[L,QSA]ます[L,R=301,QSA]

于 2013-02-12T10:42:56.203 に答える