I ♥ C#
470 / 261 / 25
Регистрация: 07.05.2010
Сообщений: 567
|
|
1 | |
Слэши в ЧПУ сводят браузер с ума14.04.2013, 16:12. Показов 1103. Ответов 4
Метки нет (Все метки)
Хочу вместо урлов вида: mysite.com/g.php?id=1 иметь такие: mysite.com/gallery/1 для этого пишу в .htaccess:
Код
RewriteEngine on RewriteRule ^gallery/(\d+)/?$ /g.php?id=$1 Код
mysite.com/gallery/delog/mystyle.css mysite.com/gallery/delog/myscripts.js и т.д. Код
mysite.com/delog/mystyle.css mysite.com/delog/myscripts.js Код
RewriteBase / В общем браузер ведет себя так, как-будто текущая директория gallery, которой у меня даже нет. Что нужно добавить в .htaccess, чтобы все заработало, без вмешательства в php-файлы?
0
|
14.04.2013, 16:12 | |
Ответы с готовыми решениями:
4
Регекс: заменить в строке обратные слэши на два обратные слэши. Выдает ошибку ЧПУ работает, но с админки перенаправляет без ЧПУ. Так и должно быть? Был сайт без ЧПУ, потом с "некрасивыми" ЧПУ Вектор строк и слэши |
I ♥ C#
470 / 261 / 25
Регистрация: 07.05.2010
Сообщений: 567
|
|
14.04.2013, 19:52 [ТС] | 3 |
Как я уже говорил, мне бы хотелось обойтись без вмешательства в код. В данный момент меня интересует почему браузер думает, что gallery это папка и как сделать, чтобы он так не думал. Ну, в общем-то понятно, что в строке адреса это действительно выглядит как папка и браузер туда как бы заходит, но не понятно, почему ему это удается, несмотря на то, что папки нет. И вообще, что я, зря этот RewriteRule писал? Почему он куда-то должен "заходить"? Апач в итоге должен получить строку mysite.com/g.php?id=1 и даже не догадываться о том, что в строке адреса была какая-то gallery. В общем, как-то не понятно, как это все работает и почему так происходит. Кто-нибудь может пояснить?
0
|
Почетный модератор
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
15.04.2013, 09:17 | 4 |
потому что так образовано. Единственное, что можно сделать - обойтись минимальным вмешательством в код, используя тег <base>, в нем задать путь к корневому каталогу.
Он и получает. Но скрипты и стили вы подключаете не в апаче, а в php-скрипте (ну или в html, не важно)
1
|
I ♥ C#
470 / 261 / 25
Регистрация: 07.05.2010
Сообщений: 567
|
|
15.04.2013, 10:05 [ТС] | 5 |
А за текущую директорию отвечает, получается не апач, а операционная система на сервере? А можно ее как-нибудь через .htaccess сменить?
Вообще все запросы из вне должны идти через апач, верно? Значит сначала приходит команда mysite.com/gallery/1 и апач меняет текущую директорию, а только потом начинает обрабатывать запрос и получает mysite.com/g.php?id=1. Получается так, или как иначе еще может просочиться этот gallery?
0
|
15.04.2013, 10:05 | |
15.04.2013, 10:05 | |
Помогаю со студенческими работами здесь
5
Удвоить слэши в строке Как удвоить слэши Path.GetDirectoryName и слэши Слэши в медиа-запросах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |