1
RewriteRule page/([0-9]+)$ page.php?id=$1

それは機能しますが、cssやjsのような含まれているリンクは機能しません。page/はフォルダのように見えるため、リンク(例:)<link rel="stylesheet" type="text/css" media="screen" href="css/default.css" />が見つかりません。

別の例:「id」が存在しない場合、これを実行しErrorDocument 403 /notfound.phpますが、にリダイレクトされdomain.com/page/notfound.phpます。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

代わりにこれを試してください:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule page/([0-9]+)$ page.php?id=$1

これは、要求されたファイルまたはディレクトリが実際に存在しない場合にのみリダイレクトされます。

mod_rewriteの詳細はこちら

編集 :

リソースが見つからないという問題については、html ページの head セクションに base タグを追加する必要があります。

<base href="/">

ベースタグの詳細はこちら

于 2012-08-17T16:12:47.923 に答える