0

私は .htaccess にこれを持っています:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . /index.php

そして、これは私がパラメータを操作する方法です:

<?php
    $request = $_SERVER['REQUEST_URI'];
    $request = substr($request,1);
    $params = explode('/', $request);
    $safe_pages = array('page1','page2','page3');
    if(in_array($params[0],$safe_pages))
            {
                include($params[0].'.php');
            }else
            {
                include('404.php');
            }
?>

私のサイトが www.site.com だとしましょう

www.site.com/page -> 完全に動作します

www.site.com/page/parameter -> root/ ではなく root/page でそれらを検索するため、css や画像は読み込まれません

CSS と画像に絶対リンクを使用しようとしましたが、それでも機能しませんでした。.htaccess に問題があるか、何か不足していると思います。

4

2 に答える 2

1

問題は htaccess 書き換えルール内ではなく、html にあります。静的コンテンツ (css、画像、スクリプトなど) へのリンクは、ドメインに関係するようにスラッシュで開始する必要があります。だから代わりに

<link href="css/style.css" />
<script src="js/script.js"><script>

使用する

<link href="/css/style.css" />
<script src="/js/script.js"><script>

他の方法はbaseタグを使用することですが、ページ上の名前付きアンカーを壊す可能性があります

于 2012-10-21T21:00:34.480 に答える
1

使用する

<base href="http://absolute_path_here/">

閉じる前に HTML に</head>.

于 2012-10-21T20:56:03.847 に答える