Настройка мода переписать в htaccess / все изображения потеряны - PullRequest
0 голосов
/ 17 апреля 2011

Похоже, что этот вопрос часто задают в Интернете, но большинство сайтов используют старые ответы или устаревшие методы.

Я использую .htaccess для перезаписи URL-адресов для сайта SEO.

По сути, ссылки на заголовки выглядят так:

    <ul id="navigation">
        <li><a href="index/" title="Home">Home</a></li>
        <li><a href="softwares/" title="Softwares">Softwares</a></li>
        <li><a href="about/" title="About">About</a></li>
        <li><a href="contact/" title="Contact">Contact</a></li>
    </ul>

Таким образом, полный URL будет: http://localhost.com/softwares/ или http://localhost.com/about/ и т. Д.

RewriteRule ^ ([^ /] +) / $ $ 1.php [NC]

Теперь это работает при маршрутизации / $ / в файл, однако все изображения,href и т. д. не работают / показывают.(потому что URL технически указывает на подкаталог).

Мой вопрос: что мы должны написать или что мы должны сделать, чтобы исправить эти изображения, CSS, URL и т. д. ...

1 Ответ

0 голосов
/ 17 апреля 2011

«Проблема» в том, что вы используете относительные пути, которые по-разному разрешаются на базовых путях с несколькими сегментами:

 base path  | reference   | resolved path
------------+-------------+--------------------
 /          | img/foo.png | /img/foo.png
 /index.php | img/foo.png | /img/foo.png
 /index/    | img/foo.png | /index/img/foo.png

Один простой способ решить эту проблему - использовать вместо этого абсолютные пути:

 base path  | reference    | resolved path
------------+--------------+---------------
 /          | /img/foo.png | /img/foo.png
 /index.php | /img/foo.png | /img/foo.png
 /index/    | /img/foo.png | /img/foo.png

Вы также можете изменить базовый URL, используя элемент BASE.Но учтите, что это повлияет на все относительные URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...