Apache isn't the fastest or maximally customizable web server, its popularity comes from the fact that it provides a very good balance of these things bundled with maximum portability and reliability.
Вы не зашли.
Проблема
Если переписываемое находится в корне, то отлично срабатывает код
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z]+).html$ /?page=$1 [QSA]
Но что делать если оно находится не в корне, а, допустим, в папке "x-y.z" ??
Копать в сторону:
RewriteEngine On
RewriteBase /x-y.z/
RewriteRule ^([A-Za-z]+).html$ /?page=$1 [QSA]
?
Сколько ни бьюсь все время 500 Internal Server Error...
Предупреждение: Для тем топиков нужно использовать более четкие формулировки.
Отредактированно ApDev (2007-04-12 00:36:46)
Неактивен
В случае, когда URL совпадает с физическим путем, то директива RewriteBase избыточна, так как она по-умолчанию равна физическому пути текущего каталога.
Попробуй следующее:
RewriteEngine On RewriteRule ^([A-Za-z]+).html$ ?page=$1 [QSA]
Странно, что сервер выдает 500 Internal Server Error! Обычно, это - Not found.
Что при 500 ошибке пишется в error.log?
Неактивен
Avenger написал:
"GET /x-y.z/aa.html HTTP/1.1" 500 614 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11"
Это запись из access.log. А что в error.log?
Неактивен
Никаких.
При таких правилах:
RewriteBase /x-y.z/ RewriteRule ^([A-Za-z]+).html$ /?page=$1 [QSA]
При запросе например, [имя_сайта]/x-y.z/abc.html mod_rewrite перепишет url на [имя_сайта]/?page=abc
Неактивен
о! изменения в error.log
[Thu Apr 12 00:14:50 2007] [error] [client 193.17.208.228] mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
Это при :
RewriteBase /x-y.z/
RewriteRule ^([A-Za-z]+).html$ /?page=$1 [QSA]
Отредактированно Avenger (2007-04-12 01:16:48)
Неактивен
Все, разобрался.
Как всегда огромное спасибо.
Проблема была в том что в корне лежала копия .htaccess
И сработал ваш вариант, без "/"
RewriteBase /x-y.z/
RewriteRule ^([A-Za-z]+).html$ ?page=$1 [QSA]
Неактивен
Отлично. А по поводу mod_rewrite: maximum number of internal redirects reached вот тут вчера писал: /forum/viewtopic.php?id=36
Неактивен
ApDev написал:
В случае, когда URL совпадает с физическим путем, то директива RewriteBase избыточна, так как она по-умолчанию равна физическому пути текущего каталога.
Попробуй следующее:Код:
RewriteEngine On RewriteRule ^([A-Za-z]+).html$ ?page=$1 [QSA]Странно, что сервер выдает 500 Internal Server Error! Обычно, это - Not found.
Что при 500 ошибке пишется в error.log?
У меня такой htaccess работает в интернете, либо , если кладу сайт в корневую папку на Денвере (http://localhost).
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond $1 !^admin$
RewriteRule ^([a-z]+)_([0-9]+).htm$ index.php?tpl=$1&id=$2
Но, как только я кладу сайт в папку /aaa/ работает только главная страница и админка, хотя в строке браузера написано:
http://aaa.localhost/ru_4.htm
Если написать RewriteBase /aaa/ , то страницы, кроме главной, Not found.
В корне у меня лежит такой htaccess:
# dnwr_ip xxx.xxx.xx.xx
Убрать его не могу, т.к., сайтов несколько, если убираю, то начинает работать только один из них.
Неактивен