1

htaccess ファイルでこのコードを使用して、すべてのリクエストを index.php にリダイレクトしていますが、動作します。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,QSA]

現在、いくつかのリクエストを別のファイルにリダイレクトしようとしていますpublic.php(つまり、ユーザーがログインしている場合は index.php を介してすべてをロードし、それ以外の場合は public.php を介してファイルをロードします-それがアイデアです)

他の人に役立ついくつかの方法を試しましたが、どれもうまくいかないようです.理由はわかりません.

アプリケーション構造は

[FOLDER]
app
www
static
.htaccess

そして、これはルート フォルダーで使用される .htaccess です。

RewriteCond %{HTTP_HOST} ^(www.)?website.com
RewriteRule ^(.*)$ www/index.php?$1 [L,QSA]


RewriteCond %{HTTP_HOST} ^(static.)?website.com
RewriteRule ^(.*)$ static/index.php?$1 [L,QSA]


RewriteCond %{HTTP_HOST} ^([^.]+)\.website\.com$ [NC] 
RewriteRule ^(.*)$ app/index.php?$1 [L,QSA]

デフォルトでは、サブドメインがwwwまたはstaticファイルがそれぞれwwwおよびstaticフォルダから読み込まれます。URL が他のサブドメイン経由でアクセスされた場合、ファイルはappディレクトリからロードされます。

私が試したコードは

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^public$ public.php [L,QSA]
RewriteRule ^(.*)$ index.php [L,QSA]

これらの2行を交換し、L、QSAを削除してみました

そして、他の多く..、Google + Stackoverflowで見つけることができたのと同じくらい..しかし、それらのどれも機能しませんでしたI guess its not working due to how i have coded the .htaccess file in the root directory..

この htaccess コードで明らかな問題を見つけた場合は、その修正方法を教えてください。どれだけ htaccess を学ぼうとしても、私はいつも苦手です。これに関連する優れたチュートリアルを知っている場合は、そのリンクを投稿してください。同様に..、私はすでにグーグルで検索し、すでに多くの記事を読んでいます。

4

1 に答える 1