кажется, что я никогда не буду ладить с mod_rewrite ... Я в типичном сценарии:mod_rewrite, ссылки, виртуальные хосты
homepage_one.tld/impressum.php --> domain.tld?content=impressum
homepage_one.tld/projects.php --> domain.tld?content=projects
homepage_one.tld/projects/canvas.php --> domain.tld?content=projects&project=canvas
Я развиваю в автономном режиме, используя Ubuntu Server Edition на VMware. Это означает, что локальный домен для проверки на моей домашней странице: _http: /// localhost: 2180/homepage_one/index.php Позже это будет _http: //homepage_one.tld.
<Directory /var/www/homepage_one>
RewriteEngine on
RewriteRule ^([^/]*)\.php$ index.php?content=$1 [QSA,L]
RewriteRule ^projects/(.*)\.php$ index.php?content=projects&project=$1 [QSA,L]
</Directory>
Все CSS/изображение ссылки являются * сломаны * теперь, когда я спрашиваю для URL: _http: // локальный: 2180/homepage_one/проекты/canvas.php (Он ищет «homepage_one/проектов /canvas/style.css» вместо «homepage_one/style.css»
большинство ответов на StackOverflow, касающиеся этого вопроса, являются:. использовать абсолютные ссылки Я пробовал, но в проверить его офлайн , моя абсолютная ссылка была бы /homepage_one/style.css, и мне пришлось бы изменить ВСЕ ссылки, как только я опубликую веб-сайт. Я также попытался использовать тег html-base. Но это не сработало ... какие-нибудь идеи?
Похоже, у вас есть еще несколько правил перезаписи. Итак, отправляйте их. – ThinkingMonkey
нет, все. На самом деле http: // localhost: 2180/homepage_one/projects.php работает отлично. У меня только проблемы с дополнительным каталогом, когда я использую 2 параметра, так как мой браузер не знает, что этот каталог просто «поддельный» –
добавляет другое правило перезаписи, указывающее на соответствующий каталог для связанных файлов, таких как изображения и таблицы стилей , Так что если у вас есть: 'homepage_one.tld/проекты/canvas.php -> domain.tld содержание = проекты и проект = canvas' Добавить: ' homepage_one.tld/проекты /([^/.]+) .css -> domain.tld/path/to/your/css/$ 1.css' Это может быть не на 100% правильное, прошло некоторое время с тех пор, как я установил мой. Прочитайте: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html – Erik