0

私のウェブサイトに言語を追加することで、問題に直面しています。すべてのテンプレートからすべての URL を変更したくないが、言語を URL に保持したいので、 .htaccess を変更する必要があります。

基本的に問題は次のとおりです: - URL に言語を保持するには、サイトの URL を変更する必要があります: 例:

言語なし: http://www.mysite.com/some/other/vars SITE_URL : http://www.mysite.com

言語: http://www.mysite.com/cn/some/other/vars が変更されました SITE_URL : http://www.mysite.com/cn

css ファイル SITE_URL/my_style/style.css を要求すると、フォルダー cn/ にないため、明らかに 2 番目のケースでは css が見つかりません。

パスが次の場合、要求されたパスを変更するために .htaccess を変更する方法:

http://www.mysite.com/cn

http://www.mysite.com/es

http://www.mysite.com/fr

元の htaccess コンテンツは次のとおりです。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Options All -Indexes 
Options All -Indexes 
Options All -Indexes

ありがとう..それは簡単なはずです.しかし、私は2時間以来それを行うことができません.

編集:

私が望むのは: www.mysite.com/cn/any/thing/else/style.css でリクエストが行われた場合 (この場合、css ファイルは存在しません)、www.mysite.com でリクエストを行います。 /any/thing/else/style.css

進展のない長い一日でした...笑。それは起こります。

4

2 に答える 2

0

正しい URL をリクエストして問題を解決することをお勧めします。それはちょうどいいでしょう。

ただし、これは機能するはずです

RewriteRule ^(cn|es|fr)/my_style/(.+)$ /my_style/$2 [L]
于 2013-10-03T11:20:25.050 に答える
0

これを、フォルダーにある htaccess ファイルにcn/es/fr、できればそこにある可能性のあるルールの前に追加します。

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^(.*)$ /$1 [L]

これにより/my_style/style.css、フォルダー内からのリクエストcnがドキュメントルートからのリクエストを処理するようになります。

于 2013-10-03T14:41:14.640 に答える