2012-04-08 19 views
0

私の問題はおそらく尋ねられましたが、私がstackoverflowで探してきたすべてのものが私を混乱させます。私は "www.website.com/newest/2"を行うと2ページに行き、 "www.website.com/newest/2/3"に行くとページに行くようにしています2と3番目の項目。良いことは、ページが機能することです。私が "www.website.com/newest/2"を置くと2ページ目に行きますが、その後は "www.website.com/newest/2/3"のようなものは動作しません。それはもはや3番目の項目には続きません。ページのみが正しく読み込まれますが、ページ番号を入力した後はページに数字が表示されます。私が "www.website.com/newest/2/3"を実行すると、私はブラウザのソースコードを見て、アイテム番号のGET要求と関係があると思われるコードがコード。これは、アイテム/ ID番号のGETリクエストが壊れていることを意味します。.htaccessが有効になった後にGet要求が機能しない

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{HTTP_HOST} ^website\.com$ [NC] 
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301] 
RewriteRule ^newest/(.+)*/?$ ./index.php?newest=$1 
RewriteRule ^newest/(.+)*/(.+)*/?$ ./index.php?newest=$1&id=$2 

答えて

0

問題は、(.+)*が一致するために必要な数の文字と一致することです。代わりに(.+?)に変更してください。

+0

これは私に500の内部サーバーエラーを与えることになりました。助言がありますか? – Ramin

+0

@Ramin:mod_rewriteは非一致の正規表現をサポートしていないと思います。 '([^ /] +)'を試してください。 – Ryan

+0

そしてあなたは(。+)*の代わりに([+ /] +)を入れなければならないと言っていますか? – Ramin

関連する問題