2016-06-20 13 views
0

私の書き換えルールを動作させることができません。私はチュートリアルを読んだことがありますが、私はルートインデックスを呼んでいないときにファイル名の前にどのようにparamを使うことができるのかを明確に説明するものは何もありません。インデックスルールが他のすべてのルールを上回っているようです。ファイル名の前にhtaccess paramでルールを書き換えます

私は私のインデックスはので、この方法を探して、リンクのすべての種類は、私が望むようにこの部分は正常に動作し、私のギャラリーロードされ

www.mawebsite.com/en/tag/karate = www.mawebsite.com?lang=en&tag=karate 

をindex.phpに行くと、特定のタグに応じてギャラリーを示したいと思います。しかし、私は他のファイルを使用できるようにしたい。

www.mawebsite.com/en/video/videoid/video-title = www.mawebsite.com/video.php?lang=en&guid=videoid&title=video-title. 

私のhtaccessファイルはこれまでのところどのように見えますか?

EDIT私のファイル:

AddCharset UTF-8 .html 
ErrorDocument 404 /notfound.html 


RewriteBase/
RewriteEngine on 
RewriteRule ^(\w\w)/(video)/([^/]+)/([^/]+)/?$ /$2.php?lang=$1&guid=$3&title=$4 [L] 
RewriteRule ^fr/video/guid/title$ video.php [L] 
RewriteRule fr/tag/([^/]+/.+)$ /?=$1 [L,QSA] 
#RewriteRule ^([^/]+)$ index.php?p=$1 [L] 

Redirect 301 /css/file.css /css/file.php 

私はvideo.phpに行くしようとしたものが動作しません。

答えて

0

は以下を与える試みをルール:

RewriteEngine On 
RewriteRule ^(\w\w)/(video)/([^/]+)/([^/]+)/?$ /$2.php?lang=$1&guid=$3&title=$4 [L] 

書き換えルールの順序は非常に重要な役割を果たしています。

AddCharset UTF-8 .html 
ErrorDocument 404 /notfound.html 

Redirect 301 /css/file.css /css/file.php 

RewriteBase/
RewriteEngine on 
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L] 
RewriteRule ^(\w\w)/(tag)/([^/]+)/?$ /?lang=$1&$2=$3 [L,QSA] 
RewriteRule ^(\w\w)/(video)/([^/]+)/([^/]+)/?$ /$2.php?lang=$1&guid=$3&title=$4 [L] 
+0

おかげで、それがインデックスに残り、私の最後のルールは、あなたが – Vakarm

+0

@Vakarmは、あなたが質問に全体のhtaccessファイルを置くことができる提案をオーバーライドするようだ:最初のより具体的なルールを保管してください? – hjpotter92

+0

ありがとうございます:) – Vakarm

関連する問題