Я пытаюсь создать некоторые правила переписывания Apache, которые смогут перенаправлять запросы URI, например,
http://mydomain.com/articles/example
на
http://mydomain.com/index.php?site=articles&page=example
Что у меня получилосьЭто далеко:
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+).html$ index.php?site=$1&page=$2 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+)$ index.php?site=$1&page=$2 [L]
Поскольку я использую относительные пути к файлам повсюду в моем index.php, для таблиц стилей, сценариев, изображений и тому подобного,Я сталкиваюсь с проблемой неправильно разрешенных абсолютных путей к файлам.
Например, когда я нахожусь в корне, http://mydomain.com/
или http://mydomain.com/articles
, все относительные пути к изображениям разрешаются правильно - images/logo.jpg
становится http://mydomain.com/images/logo.jpg
илиhtdocs/mydomain/images/logo.jpg
соответственно.
Когда я нажимаю одну из моих ссылок на сайте, например, http://mydomain.com/articles/example
, Apache (или браузер?) Предполагает, что все мои изображения находятся здесь http://mydomain.com/articles/images/
- совершенно очевидно, чтоэтот путь на самом деле не существует.
Итак, вот мои вопросы:
1. Возможно ли решить эту проблему без изменения всехмои относительные пути к файлам к абсолютным?
Я мог бы использовать root /
для всех моих путей на моем фактическомвеб-сервер, поскольку мой домен преимущественно связан.
mydomain.com
связан с /html/mydomain
на моем веб-сервере - /
преобразуется в mydomain.com/
, но на моем персональном компьютере я использую XAMPP и /
разрешаетв htdocs/
- однако он должен разрешиться в htdocs/mydomain/
просто потому, что я держу несколько сайтов в htdocs
Абсолютные пути к файлам ужасны при обновлении index.php на моем веб-сервере, потому что я должен автоматическисистематически заменять объявления пути - не только в index.php, но и в таблицах стилей и скриптах.
2. Должен ли я создать статическую запись DNS на моем персональном компьютере для адаптации к моей сетисервер?
3. Какой метод чаще всего используется?
Заранее спасибо!
С уважением, Себастьян