1

私のサブドメインは動的であり、トップレベルの場合は1つのルールで処理する必要があり、そうでない場合は2番目のハンドラーが含まれている必要があります。

これが私が持っているものです:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^(www\.)?(www|ftp|mail|webmail)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.domain\.com$ [NC]
#This is successful
RewriteRule (.*) displaylist.php?shorturl=%2 [NC,QSA]
#NOT WORKING
RewriteRule /id/([0-9+])$ viewpage.php?id=$1 [NC,QSA]

したがって、subdomain.domain.comは正しく機能しますが、subdomain.domain.com / id /1230/は機能しません。

次の行をキャッチするルールは機能せず、すべての相対リンクが壊れているdisplaylist.phpを表示するだけです。

編集:

新しいルール、書き換えは機能していますが、相対ファイルはどれもそのままです

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^(www\.)?(www|ftp|mail|webmail)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.domain\.com$ [NC]
#This is successful
RewriteRule (.*) displaylist.php?shorturl=%2 [NC,QSA]
#Working, but relative files (like css) aren't loading correctly
RewriteCond %{THE_REQUEST} id/([0-9]+)/?
RewriteRule ^(.*) viewpage.php?id=%1 [NC,L]
4

1 に答える 1

1

書き換えは機能していますが、関連ファイルはどれも損なわれていません

viewpage.phpこれを(<head> </head>タグ間で)生成されたコンテンツのヘッダーに追加します。

<base href="/" />
于 2012-09-18T20:51:08.270 に答える