0

わかりました簡単に言えば:

http://subdomain.domain.com/test1/test2 は、ここに情報を表示する必要があります: http://domain.com/agents/subdomain/test1/test2

そして明らかに、この http://subdomain.domain.com/でhttp://domain.com/agents/subdomain/ を表示する必要が ある場合

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

RewriteEngine On 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L]


RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com [NC]
RewriteCond %{HTTP_HOST} ([^\.]+)\.domain\.com [NC]
RewriteCond %{REQUEST_URI} !^/agents
RewriteRule ^(.*)$ /agents/%1/$1/ [L]

URL から index.php を取り除く最初のルールが必要です。

最初の部分はhttp://subdomain.domain.com/で完了できます が、サブフォルダーはできません。

上記の構文は内部サーバーエラーをスローしていますが、最後の行を次のように変更すると:

RewriteRule ^$ /agents/%1/$1/ [L]

サブディレクトリにアクセスできないことを除いて、機能します。

4

1 に答える 1

0

最終的にこれを理解しました...ここに解決策があります:

RewriteEngine On 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} ^(www\.)? domain\.com [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]


RewriteCond %{HTTP_HOST} !^(www\.)? domain\.com [NC]
RewriteCond %{HTTP_HOST} ([^\.]+)\. domain\.com [NC]
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^/?(.*) /index.php?/agents/%1/$1 [L]
于 2012-08-02T15:30:21.620 に答える