0
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?$1=1 [L]
RewriteRule ^([a-zA-Z0-9]+)$ index.php?$1=1 [L]

#if category 
RewriteRule ^category/([a-zA-Z0-9]+)/$ index.php?results=true&lid=$1 [L,NC]
RewriteRule ^category/([a-zA-Z0-9]+)$ index.php?results=true&lid=$1 [L,NC]

最初のセクションは問題なく動作します.urlにカテゴリを追加すると、どこでも他のパラメータの前にカテゴリが書き込まれるため、cssと画像が消えます.

mywebsite.com/category/380 は mywebsite.com/index.php?results=true&lid=380 にリダイレクトする必要がありますが、元の URL には写真と CSS がありますが、クリーンな URL にはありません。

4

1 に答える 1

0

これは、相対ベース URI が変更され、css と画像が<img src="image_folder/image.png">絶対リンク (例: ) ではなく相対リンク (例: ) だった可能性があるため<img src="/image_folder/image.png">です。

元の基地は/で、index.php座っていた場所です。しかし、一度持ってしまえば/category/something、ベースは になりまし/category/た。したがって、すべてのリンクを相対リンクから絶対リンクに変更する (先頭にスラッシュを追加する) か、すべてのページのヘッダーにこれを追加できます。

<base href="/">

css と画像へのリンクが既に/category/URI の前に生成されている場合、それはフレームワークに関連しているように思えます。ただし、それに対する修正がない場合は、既存のルールの上にこれらのルールを追加できます。

# if the request ends with one of these extensions
RewriteCond %{REQUEST_URI} \.(css|png|gif|jpe?g|bmp|ico|js)$ [NC]
RewriteRule ^category/(.*)$ /$1 [L]
于 2012-09-11T21:32:25.543 に答える