1

www.site.com/machines/ をページにリダイレクトするリダイレクト URL を含めました。

  RewriteRule ([^/\.]+)/$ index.php?task=cat&p_name=$1 [L]

クライアントは、id ではなく名前でマシンを表示するように URL を最適化したかったため、
しかし、index.php www.site.com/index.php/ の場合は、インデックス ページにリダイレクトする必要があります。URLを書き換える前にこの状態で使い疲れた

 RewriteCond %{REQUEST_URI} !^/index.php/$ [NC]

しかし、これはページ www.site.com/index.php に完全にリダイレクトされるわけではありません。このため、一部の css と画像が正しく表示されないため、別の方法を試しました

 RewriteCond %{REQUEST_URI} ^/index.php/$ [NC]
 RewriteRule ^index.php/$  index.php? [R=301,L]

ここでは、このようにリダイレクト しています http://www.site.com/home/user/public_html/www.site.com/index.php リダイレクト URL を教えてください。

4

2 に答える 2

0

ベース名の前にスラッシュを置くのを忘れたと思います:

RewriteRule ^index.php/$ /index.php? [R=301,L]

ただし、代わりに次のコードを使用すると見栄えが良くなります。

RewriteCond %{REQUEST_URI} ^/index.php/$ [NC]
RewriteRule ^(.*) /index.php [QSA,R=301,L]
于 2013-04-07T15:40:42.147 に答える
0

ここで条件を取り除き、単純に次を使用できます。

RewriteRule ^index\.php/$ /index.php [L,R=301]

CSS と画像が表示されない問題は、おそらく HTML で相対 URI を使用しているためです。それらを絶対 URI (先頭にスラッシュが付いたもの) に変更するか、相対 URI ベースをページ ヘッダーに追加する必要があります。

<base href="/">

またはベースが想定されているものは何でも。

于 2013-04-06T16:19:20.340 に答える