2016-08-30 14 views
1

が動作していない:.htaccessの書き換えは、私は私のサイトのURLを変更したい

http://example.com/clinicdetails.php?url=/diet-clinic-in-punjabi-bagh.html 

このように見えるように:

http://example.com/clinicdetails.php/diet-clinic-in-punjabi-bagh.html 

次のように.htaccessファイルに私のコードは次のとおりです。

RewriteEngine On 
RewriteRule ^([^/]*)\.html$ /clinicdetails.php?url=$1 [L] 

しかし、これは私のlocalhostではなく、共有ホスティングサーバでも動作しません(エラーなし)。ここで何が問題になるのでしょうか?

+0

clinicdetails.phpは実行されていますか? '$ _GET {'url']'とは何ですか? – MrTux

+0

チェックの/ etc/apache2の/サイト利用可能/デフォルトが正しく設定か<ディレクトリ/ var/www/htmlと設定> オプションのインデックスはFollowSymLinks MultiViewsを AllowOverrideのすべて 注文は、 はすべて –

+0

から許可、拒否できるようにそれがあるべき@MrTux私はテーブルを持っていて、$ _GET ['url']は、データを表示するために使用されるテーブルからデータを取得するために使用されます。 –

答えて

0
RewriteRule ^([^/]*)\.html$ /clinicdetails.php?url=$1 [L] 

RewriteRuleパターンがあるため、文字列アンカー^の開始を指定されたURLに一致するように失敗しています。一致させようとしているパスセグメントにスラッシュを入れていない間は、URLの残りの部分で行います。だから、次のことを試してください。

RewriteRule ([^/]+)\.html$ /clinicdetails.php?url=/$1 [L] 

ファイル名は、少なくとも1つの文字であるので、私はまた、+*を変更しました。より具体的な正規表現が良いです。

希望するURLにマップするには、URLのparam値にスラッシュの接頭辞が必要なようです。すなわち、 url=/$1

関連する問題