だから、私はこの問題を抱えています:
- にあるベース Web サイト
http://example.com/
- にある第 2 の Web サイト
http://example.com/web2/
http://example.com/myWeb/pg1
のように2 番目の Web サイトにさまざまな要求を行う人々http://example.com/web2/pg2
最近、他のいくつかの問題により、2 番目の Web サイト用のカスタムの新しいパスが必要ですが、最初の Web サイトも機能し続ける必要があります。
アイデアは、ユーザーが次の 2 つのアドレスを介して 2 番目の Web サイトにアクセスできるようにすることです。
http://example.com/web2/
http://example.com/alternative-url-web2/
フォルダ/web2/
は実際にはサーバー上に存在しますが、フォルダをシミュレートし/alternative-url-web2/
てリクエストを「リダイレクト」するにはどうすればよい/web2/
ですか?
ブラウザの URL を変更したくないことに注意してください。これは「サイレント リダイレクト」でなければなりません。http://example.com/other
また、他のすべてのリクエストが 2 番目の Web サイトによってリダイレクトされないようにします。
ありがとうございました。
更新:
@anubhava によると、次のように追加することでこの問題を簡単に解決できます.htaccess
。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^alternative-url-web2(/.*|)$ /web2$1 [L,NC]
これはおそらく正常に機能していますが、次のことに気付きました。
http://ex.com/alternative-url-web2
にリダイレクトされhttp://ex.com/web2/
ます (ブラウザー URL の変更)。http://ex.com/alternative-url-web2/
にリダイレクトされhttp://ex.com/
ます (ブラウザー URL の変更)。http://ex.com/alternative-url-web2/someRequest
正常に動作し、ブラウザの URL を変更しません。http://ex.com/alternative-url-web2/index.php
正常に動作し、ブラウザの URL を変更しません。
サイトノート:
上記の有線リダイレクト動作の原因となる可能性/web2/
のあるもの.htaccess
があります...ファイルの内容は次のとおりです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
内部 RewriteRuleindex.php
がこれをすべて引き起こしている可能性はありますか? はいの場合、どうすれば修正できますか?