2016-10-06 4 views
0

mod_rewriteのことをやってみましたが、これはコード です。localhost/main/teacher/index.php?subj=departmentsからlocalhost/main/staff/departmentに書き直すことになっています。 リンクを入力するとlocalhost/main/staff/departmentsが動作しますが、 リンクをクリックするたびにlocalhost/main/staff/index.php?subj=departmentと表示されます。ここでApache mod_rewriteが正しくリンクされていません

は私.htaccessコードです:二行目はRewriteRule、ないRewriteで始まる

RewriteEngine On 
RewriteRule ^staff/(.+)$ teacher/index.php?subj=$1 [NC] 

注:

RewriteEngine On 
Rewrite ^staff/(.+)$ teacher/index.php?subj=$1 [NC, L] 
+2

'mod_rewrite'はPHPとは何の関係もありません。Apache Webサーバーによって行われます。 – Barmar

+0

あなたが掲示したルールは、あなたが述べた結果を必ずしも作成するものではありません。たぶんあなたはキャッシュされた結果を見ていますか? 「深いリロード」を行うか、ブラウザのキャッシュをクリアしてみてください。 – arkascha

+0

はタイトルを変更しますが、これらを修正するにはどうすればいいですか – Enitopee

答えて

0

は、ここでは、あなたの.htaccessファイルを持っている必要があるものです。 また、このルールからLフラグを削除する必要があります。

フラグについて詳しく読むことができます。

誰かが答えを改善し、なぜNC, Lが機能しないのかを詳細に説明したいと思っていますが、NCだけが動作します。

+0

は書き換えをRewriteRuleに変更しましたが、同じエラー、さらにはブラウザキャッシュをクリアしました – Enitopee

+0

ブラウザキャッシュは何の関係もありません。あなたは旗を削除しましたか? '.htaccess'ファイルに他に何かありますか? –

関連する問題