Как переписать URL в php5? - PullRequest
0 голосов
/ 09 мая 2011

Привет, я хочу переписать URL моего сайта. Сейчас я использую PHP 5 для разработки. Я попробовал со следующим .htaccess.

RewriteEngine on

RewriteRule   ^(.*)/(.*).html$ $1.php?code=$2 [L]
RewriteRule   ^(.*).html$ $1.php [L]

URL без аргументов работает, но первый показывает некоторые проблемы. Он перенаправляет на страницу, но стили страницы не имеют значения, которое я передаю для кода. Почему это происходит? Можно ли переписать URL-адреса с помощью PHP5?

Ответы [ 4 ]

2 голосов
/ 09 мая 2011

Если вы перенаправите в «folder / file.html», все ваши относительные ссылки будут испорчены.Вместо этого он будет искать «css / style.css» в «folder / css / style.css».

Вы можете использовать абсолютные ссылки, например, «www.example.com/css/style.css».или перепишите свои пути ссылок.

RewriteRule   ^(.+)/css/(.+)$ css/$2 [L]
1 голос
/ 09 мая 2011

в заголовке html, который вы установили <base href="http://mysite.com/"/> перед включением CSS, JS и т. Д.

1 голос
/ 09 мая 2011

Ваш URL находится в $ _SERVER ['REQUEST_URI'] который вы можете проанализировать в вашем PHP-скрипте и включить необходимый файл. В вашем примере «REQUEST_URI» будет «/folder/file.html». Таким образом, вы можете оставить только этот RewriteRule ^ (. *). Html $ $ 1.php

1 голос
/ 09 мая 2011

Если вы говорите о стилевом оформлении CSS, я думаю, это может быть связано с тем, что вы входите в новый подкаталог, а style.css отсутствует, но находится в основном каталоге. Речь идет об относительных путях, попробуйте использовать абсолютный путь ("www.web.com/style.css")

...