0

こんにちは、.htaccess ファイルで次の行を使用しています

Options +FollowSymLinks
RewriteEngine on
RewriteBase /coaster/CoasterInsider/
 RewriteRule signup$ index.php?page=signup [L,NC]
 RewriteRule login$ index.php?page=loginHandle [L,NC]
 RewriteRule u/(.*)$ index.php?page=profile&username=$1 [L,NC]

パスは適切にリダイレクトされていますが、css、flash、および画像がロードされていません。また、URLの後に次の「/」を使用すると、

RewriteRule signup(/?)$ index.php?page=signup [L,NC]

エラー 404 などのページが見つかりません。/signup と /signup/ の両方で htaccess ファイルが機能するようにしたいだけです。

4

3 に答える 3

1

ブラウザが表示される場合:

http://example.com/coaster/CoasterInsider/signup
http://example.com/coaster/CoasterInsider/signup/

次のような相対 URL に遭遇します。

<img src="site/images/photo.png">

相対 URL を (それぞれ) 次のように変換します。

http://example.com/coaster/CoasterInsider/site/images/photo.png
http://example.com/coaster/CoasterInsider/signup/site/images/photo.png

アセットには絶対 URL を使用する必要があります。これを習慣にしてください:

<img src="/site/images/photo.png">

または、ブラウザに相対 URL の処理方法を指示する HTMLbaseタグをページで使用することもできます。個人的にはお勧めしません。

于 2012-09-19T11:21:45.487 に答える
0

使用する

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

実際のファイルとディレクトリが書き換えられないようにします。

追加することもできます

RewriteCond %{REQUEST_FILENAME} !-l

シンボリックリンクについても同じことを行います。

于 2012-09-19T11:18:09.917 に答える