2017-08-19 12 views
0
<Files ~ (\.php)> 
Options +SymLinksIfOwnerMatch 
</Files> 
AddDefaultCharset utf-8 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php [NC,L] 
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/([0-9]+)$ index.php?lang=$1&menu=$2&submenu=$3 [L] 

原点URL:example.com/index.php?lang=de &メニュー= 1つの&サブメニュー= 0 新しいURL:example.com/de/1/0htaccesc書き換えルールが動作しません

新しいURL負荷のメインページに、しかし他のページが必要

+0

問題は正確に何が問題になりますか?現時点では、現在の情報に基づいて何も答えられません。 –

+0

質問:url "example.com/de/1/0"がurlのように機能しない理由 "example.com/index.php?lang=de&menu=1&submenu=0" – Max

+0

このページにある "example.com/index.php "lang = de&menu = 1&submenu = 0"私は "About company"を持っていますが、この "example.com/de/1/0" URLは "Home page"をロードします。書き直しURLで私はまた "会社について"が必要です – Max

答えて

0
<Files ~ (\.php)> 
Options +SymLinksIfOwnerMatch 
</Files> 
AddDefaultCharset utf-8 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php [NC,L] 
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/([0-9]+)$ index.php?lang=$1&menu=$2&submenu=$3 [L] 

これを辿る場合は、ファイルシステム内のファイルまたはディレクトリではありませんすべてのものを取ると、index.phpのにそれを書き換えるようにApacheを語りました。

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php [NC,L] 

これがそうしていることです。あなたが実際に達成しようとしているかを理解するのに十分な情報を提供しなかった

<Files ~ (\.php)> 
Options +SymLinksIfOwnerMatch 
</Files> 
AddDefaultCharset utf-8 
RewriteEngine on 
RewriteBase/
# if file/director does not exist, and if it matches the pattern 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/([0-9]+)$ index.php?lang=$1&menu=$2&submenu=$3 [QSA,L] 
# then if it did not match the pattern, send it to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php [NC,L] 

注:

あなたはこのようにそれを行う必要があり、これはあなたがやりたいようにするには。しかし、私の推測は、このようなものです。また、index.php(QSA)のクエリ文字列に値を追加することを前提としています。これは通常はあなたが望むものです。

しかし、すべてのURLが何をすべきかを指定するまでは、それ以上は推測できません。

file/directory以外のものをマッチさせ、index.php(L)の最後のコマンドとしてそれ以上書き直すことは、リクエスト処理を終了するので、それは決して2番目のケースに当たらないことに注意してください。

+0

ありがとう、今私は理解している、何が間違っていた – Max

関連する問題