0

私はそのようなものを持つための解決策を試みています:

/dev/base/route.php -> include "/dev/base/mysite/index.php"

もちろん、phpの場合、このシステムを使用しても問題はありません。すべてのコードは適切に機能しますが、htmlタグ( など)の場合<img、リクエストをディレクトリ<linkにリダイレクトする必要があります。./dev/base/mysite/

次のコードを使用して、(URL バーを変更せずに) htaccess を使用して解決しようとしています:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond /mysite/$0 -f
RewriteCond /mysite/$0 -d
RewriteRule ^$ /mysite/$0 [L]

しかし、うまくいきません。(私は mod_rewrite にあまり熟練していません)

また、htaccessファイルでパスを静的に指定することはできません/dev/base/。ワークステーションによって変わる可能性があるため、「自動的に」解決する必要があります。

したがって、疑似phpコードの構文でそれに似たものが必要です:

if ( file_exists(SITE_ROOT_DIR."/mysite/".$request) && !file_exists(SITE_ROOT_DIR."/".$request) )
   $url=SITE_ROOT_DIR."/mysite/".$request;
else
   $url=SITE_ROOT_DIR."/".$request;

前もって感謝します!

4

1 に答える 1

0

これでコードを変更します:

RewriteBase /dev/base/

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]

RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -d [OR]
RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -l
RewriteRule ^(.*?)/?$ mysite/$1 [L]
于 2013-03-26T14:18:46.090 に答える