22

だから、私はこの問題を抱えています:

  1. にあるベース Web サイトhttp://example.com/
  2. にある第 2 の Web サイトhttp://example.com/web2/
  3. 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がこれをすべて引き起こしている可能性はありますか? はいの場合、どうすれば修正できますか?

4

2 に答える 2

5

mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^alternative-url-web2(/.*|)$ /web2$1 [L,NC]

代替コード:

RewriteRule ^alternative-url-web2/?$ /web2/ [L,NC]
RewriteRule ^alternative-url-web2/(.+)$ /web2/$1 [L,NC]
于 2013-09-14T16:35:19.163 に答える