|
|
|
| помогите с переадресацией css, мне необходимо что бы при вызове
http://www.test.ru/default.css
выводился мой css, а реально он
http://www.test.ru/.css/default.css
php работает нормально, а как css, jpg, gif… я незнаю
На сервере папки типа:
www
.css
default.css
.htm
default.htm
.php
default.php
|
Вот мой .htaccess:
..
Options -Indexes
DirectoryIndex /.php/default.php
RewriteEngine On
RewriteBase /.php/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ default.php?$1 [L]
..
|
Как это сделать (спасибо)? | |
|
|
|
|
|
|
|
для: freeing
(15.01.2010 в 17:24)
| | что-то мне кажется рисковано называть папку .htm
у меня в httpd.conf такая запись чтобы .htaccess ,htpasswd не открывались
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
но папки .htm тоже не открываются
а так , если htaccess в корне сайта можно просто
RewriteRule ^default\.(css|htm|php)?$ .$1/$0 [L]
, только не помню как к $0 относится mod_rewrite ,) возможно придётся вместо $0 делать default.$1 | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 17:43)
| | локально и на сервере папки типа .* работают нормально,
вообще не было таких проблем, уже 3 сервер сменил, все нормально....
а куда добавить?
так?:
Options -Indexes
DirectoryIndex /.php/default.php
RewriteEngine On
RewriteBase /.php/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^default\.(css|htm|php)?$ .$1/$0 [L]
|
| |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 17:43)
| | не! не работает (
Not Found
The requested URL /.php/.css/css was not found on this server.
Подсказка Денвера
Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/example.com/www/.php/.css/css, которого не существует.
В случае использования CGI-скриптов, корректные пути к CGI-директориям следующие:
URL Куда указывает
http://***/cgi-glob/script.cgi /home/cgi-glob/script.cgi
http://***/cgi/script.cgi /home/***/cgi/script.cgi
http://***/cgi-bin/script.cgi /home/***/cgi-bin/script.cgi
--------------------------------------------------------------------------------
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 Server at example.com Port 80
|
| |
|
|
|
|
|
|
|
для: freeing
(15.01.2010 в 17:49)
| | >RewriteBase /.php/
запрос http:.//site/default.css , даже не должен попадать в папку /.php/
я говорил , что если отлавливать эти запросы htaccess'ом выше этих папок,
если там и лежит, попробуйте вставить это RewriteRule выше RewriteBase
//
а про то правило которое с RewriteCond'ами я ничего не говорил | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 17:59)
| | так что делать? | |
|
|
|
|
|
|
|
для: freeing
(15.01.2010 в 18:13)
| | где лежал первый htaccess ?
..
Options -Indexes
DirectoryIndex /.php/default.php
RewriteEngine On
RewriteBase /.php/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ default.php?$1 [L]
|
он работал ?? | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 19:19)
| | Он работал и лежал на уровень выше чем .php, .css... в корне, в папке www | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 19:19)
| | Я понял, моя проблема в том что у меня по умолчанию указан RewriteBase /.php/
понятно что при этом он папку /.css/ не видит, так как она не в /.php/.css/ а в корне, рядом с /.php/
твой вариант рабочий, при RewriteBase / но такие пути как:
http://www.example.com/a/
http://www.example.com/a/a/
Вызывают ошибку, при этом просто
http://www.example.com/
http://www.example.com/default.css
работают.
как это исправить? | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 19:19)
| | Очень надо, не работают ссылки стилей, картинок....
что мне делать, подскажите? | |
|
|
|
|
|
|
|
для: freeing
(17.01.2010 в 11:28)
| | проверил на своём неправилбно-работающем mod_rewrite
, у меня в корне просто
Options +FollowSymlinks -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^default\.(css|htm|php)$ .$1/$0 [L]
|
нормально работает (не считая того что .htm forbidden)
если добавляю ниже в этот-же файл Ваше
RewriteBase /.php/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ default.php?$1 [L]
# DirectoryIndex /.php/default.php
|
вместо default.css вижу default.php
, Вот с RewriteBase'ами (upd: и редиректами)у меня и заглючило этот mod_rewrite
, когда я снёс сервис Apache2.2 перетащил папку и просто стал запускать его своей программой с совсем другими настройками.
, как должно быть на нормальном сервере не скажу | |
|
|
|
|
|
|
|
для: heed
(17.01.2010 в 13:47)
| | а что значит ?$. $1/$0 [L]
у меня твой вариант тоже работает, просто не могу работать с адресами типа:
http://site.com/1/
http://site.com/1/2/
мне необходимо обрабатывать эти адреса для дальнейшей работы... | |
|
|
|
|
|
|
|
для: heed
(17.01.2010 в 13:47)
| | все! решил проблему, тему можно закрывать | |
|
|
|