2016-10-30 5 views
0

URLに1つの変数または時には2つの変数が必要です。それは働いていない書き換えモジュールが正常に動作しない

RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1 ReWriteRule 
^([^/]+)/(\d+)/? index.php?page=$1&q=$2 

http://example.com/home 
or http://example.com/home/hr 

私はpublic_htmlフォルダに以下.htaccessファイルを作成しました!私は今hr.phpindex.phpに含まれているpublic_htmlindex.phphr.php

public_html/view中を持っている:

include("view/hr.php") 

ので、今index.phpは、ページ変数を持っており、/view/hr.phpは第二の変数を持っています。

どうすればいいですか?

答えて

0

ロジックを.htaccessに入れないでください。静的ファイル以外のすべてを1つのPHPファイルに書き換えてから、その中にリクエストをルーティングしてください。例えば:

# only rewrite static file URLs when not found, otherwise let them through 
RewriteCond $0 !^(?:js|css|img|video|audio)$ [OR] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond ^[^/]+ index.php 

は今、index.phpに、あなたは$_SERVER['REQUEST_URI']にURLを持っているし、あなたが望む任意のファイルを含めることができます。

+0

私にとってはうまくいきませんでした! :( – user2305672

+0

正確に動作しないものは?index.phpはまったく呼び出されていますか? 'RewriteEngine'が' On'であることを確認しましたか? '$ _SERVER ['REQUEST_URI']'の値をチェックしましたか? – Walf

関連する問題