0

.phpを削除し、county.phpという特定のページをフォーマットするmodの書き直しがあります。

私の問題は、county.phpを書き換える部分にあります。css、画像、jsファイルへのすべてのリンクの前に「/」を付ける必要があります。これにより、php includeを使用しているため、サイトの他の部分で問題が発生します。この辺りはありますか?ありがとう

RewriteEngine On
RewriteRule ^county/([^/\.]+)/?$ county.php?county_id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php
4

1 に答える 1

1

mod_rewriteを使用して仮想フォルダーを作成している場合は、追加のすべてのメディアタイプ(CSS、JS、イメージなど)に対して異なるフォルダー名を処理する必要があります。動的な数のフォルダー、またはフォルダーのあるページとないページを処理すると、より複雑になります。

私はそれを解決するために次の方法を見ます:

  1. 常に同じ数のフォルダを使用する(フォルダの深さ)-または

  2. パラメータを区切るために/文字を使用しないでください(例: "county_xzy")-または

  3. メディアファイルにもmod_rewriteルールを作成します

例:

RewriteEngine On
RewriteRule .*/(.*?)\.css$ css/$1.css
RewriteRule .*/(.*?)\.js$ js/$1.js
RewriteRule .*/(.*?)\.(jpg|jpeg|png|gif)$ images/$1.$2
RewriteRule ^county/([^/\.]+)/?$ county.php?county_id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php
于 2012-05-01T15:18:07.413 に答える