помогите с mod_rewrite - PullRequest
       2

помогите с mod_rewrite

0 голосов
/ 24 января 2011

хорошо, так что в последнее время я возился с mod_rewrite, пытаясь заставить его работать на веб-сайте, над которым я сейчас работаю, чтобы сделать URL более привлекательными для непрограммистов.

Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /newstuff
RewriteRule ^page/([0-9]+)/option/([0-9]+)?$ page.php?loc=$1&option=$2

когда я перехожу на страницу page / 3 / option / 3, ни один из моих css-файлов или чего-либо еще не загружается, я знаю это, потому что я сейчас в другом каталоге, но в любом случае я могу заставить его работать без необходимости настраивать все мои файлы загружаются из?

Ответы [ 4 ]

0 голосов
/ 25 января 2011

В итоге я все отсортировал, это были только пути, которые я использовал для всех моих файлов css, images и т. Д. Я никогда не использовал переписывание мод раньше, так что это все новое. Я также не всегда использовал относительные URL, что плохо, и я определенно собираюсь прекратить это делать. вот сайт www.imstillreallybored.com/newstuff

это веб-сайт, который я делаю для своей школы. Я на самом деле переделываю большую часть серверного php, превращая его в объектно-ориентированные классы, потому что многие вещи, которые я вызываю / получаю, такие как статьи, намного проще вызвать через функцию и передавая переменные.

0 голосов
/ 24 января 2011

Запросы для этих файлов выполняет браузер, а не ваш сервер, поэтому, как вы уже догадались, он просматривает эти каталоги.

Обычно наиболее безопасно при выполнении чего-либо подобного указывать URL-адресаВаши изображения и исходные файлы должны быть связаны с именем домена ("/ images / ..." вместо "images /...").

В качестве альтернативы, вы можете написать больше правил перезаписи, которые перенаправляют что угоднос ... / images / ... в нем, чтобы указать на каталог с изображениями, но при этом вы потеряете кеширование и ряд других полезных вещей.

Как примечание, обычно это дажеЛучше не кодировать каталог изображений напрямую, а иметь какой-либо файл конфигурации со значением, подобным $ IMAGE_DIR, и тогда, если вы когда-нибудь что-то измените, вам нужно будет обновить его только в одном месте.

0 голосов
/ 24 января 2011

Можем ли мы увидеть URL-адреса CSS-файлов, на которые вы ссылаетесь?Я помог бы увидеть их.Вот кое-что, с чего можно начать:

RewriteRule ^page/[0-9]+/option/[0-9]*/([^\.]+)\.css$ /newstuff/$1.css

Однако, если ваш CSS находится в корне вашего документа или в папке в вашем корне, было бы намного проще просто поменять все ссылки с CSS на/ css или /newstuff/css.
Рекомендуется всегда использовать URL-адреса относительно корня документа, чтобы избежать проблем с перезаписью.

0 голосов
/ 24 января 2011

Нет, вам придется прекратить использовать пути относительно старого URL. Лучше, если вы планируете это с самого начала в будущем: либо всегда используйте пути относительно URL-адреса сайта (/css/file.css будет указывать на одно и то же место, где бы вы ни находились), либо используйте абсолютные URL-адреса файлы.

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