2016-10-03 44 views
1

タイトルとIDで動的にURLを書き直す必要があります。私は私が持っているタイトルとIDでURLの動的書き換え

" Not Found 
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 
The requested URL /beweb/iphone-8.html was not found on this server." 

..しかし、取得エラー私は私が必要なものdyanamically行われるように、上記のURLを実行すると、URLを動的

http://dev.example.com/beweb/iphone-8.html 

代わり

http://dev.example.com/beweb/newsdetails.php?id=8&title=iphone 

のようにしたいですコード:

RewriteEngine On 
RewriteCond %{THE_REQUEST} /beweb/newsdetails.php\?id=([^&\s]+)&title=([^&\s]+) [NC] 
RewriteRule^/beweb/%2-%1\.html? [NC,R,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^%2-([^.]+)\.html$ /beweb/newsdetails.php?id=$1&title=$2 [QSA,L,NC] 

私を助けてください。

答えて

0

ルールはほぼ正しいです。あなたがサービスを提供するためにnegetive場合、サーバー上の実際の静的なファイルやディレクトリではなく、パス、proccessファイル名を確認することができ、これらの線で

RewriteRule ^([^-]+)-([^.]+)\.html$ /beweb/newsdetails.php?id=$2&title=$1 [QSA,L,NC] 
+0

にクエリ文字列を追加することを意味..感謝:)。しかし、私はURLからIDを取得したいので、他の問題が生成されます(パラメータを取得する)..今、エラーが発生しました。 – Jeff

+0

@Jeff上記の '$ 1'と' $ 2'を交換してください。 – hjpotter92

+0

私はあなたに助けが必要です..あなたはそれを行うことができます – Jeff

0

:あなたはただである必要があり、最後の文を、誤って設定しましたユーザー:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^beweb/([a-z]+)\-([0-9]+).html$ /beweb/index.php?id=$2&title=$1 [QSA,L,NC] 

QSAは、私は、コードを入れているし、それが働いている新しいURL

+0

コードオンリーの回答では通常十分ではありません。いくつかの説明を追加*なぜ*あなたのコードが動作し、なぜOPのコードはしません。それ以外の場合、あなたの答えはあなたの答えをコピーして貼り付けるだけのOPを手​​助けすることができます - それはSOの使い方ではありません。 –

+0

@ Al.G。はい、あなたは正しいです、私はすぐに説明を追加します。 –