Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
1

RewriteRule

04.01.2011, 21:07. Просмотров 2862. Ответов 8
Метки нет (Все метки)

Здравствуйте.

Есть файл .htaccess:
Код
RewriteEngine On
      RewriteRule ^year/([0-9]+)/?$ index.php?year=$1 [L]
Почему у меня не работает ссылка
www.site.ru/year/2011/ ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 21:07
Ответы с готовыми решениями:

RewriteCond влияет толко для один, следушчи RewriteRule. можно как-то превишать количество RewriteRule
здраствуите, вот что интересно, сделаю mod_rewrite и для етого в .htaccess фаиле пишу ...

RewriteRule
Люди помогите сделать в htaccess код Мне нужно чтобы из такого урл ...

о RewriteRule
пытаюсь на своем сайте сделать ЧПУ , все страницы меняются 1й переменной либо page(отвечает за...

RewriteRule
Помогите написать RewriteRule для поиска. search.php <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML...

RewriteRule
AddDefaultCharset utf-8 RewriteEngine on RewriteRule ^(.+)/ $1\.php RewriteRule ^(.+) $1\.php...

8
Vovan-VE
13177 / 6564 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
05.01.2011, 08:50 2
Потому что не хватает одного из двух. Либо
Код
RewriteBase /
либо
Код
RewriteRule ^/year/...
0
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
05.01.2011, 17:18  [ТС] 3
Код
RewriteEngine On
      RewriteRule ^/year/([0-9]+)/?$ index.php?year=$1 [L]
Ошибка. Ссылка не работает.
0
Vovan-VE
13177 / 6564 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
06.01.2011, 07:22 4
Да, что-то я наврал про ^/ Я всегда RewriteBase пользовался.
А, так надо /index.php писать
Код
RewriteEngine On
RewriteBase /
RewriteRule ^year/([0-9]+)/?$ /index.php?year=$1 [L]
0
06.01.2011, 07:22
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
06.01.2011, 18:00  [ТС] 5
http://localhost/year/2001/
http://localhost/year/2001
Код
RewriteEngine On
RewriteBase /
RewriteRule ^year/([0-9]+)/?$ /index.php?year=$1 [L]
RewriteRule ^year/([0-9]+)?$ /index.php?year=$1 [L]
Ошибка. Ссылка не работает.

Добавлено через 40 минут
Vovan-VE, Слушай, такое дело, у меня вообще получается .htaccess не работает Может я что-то с apache2.conf намудрил?
/etc/apache2/apache2.conf

Код
LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_event_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
Include mods-enabled/*.load
Include mods-enabled/*.conf
Include httpd.conf
Include ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
AddHandler cgi-script .cgi .pl
ScriptAlias /cgi/ "/var/www/cgi/"
<Directory "/var/www/cgi/">
 Options Indexes Includes
 AllowOverride All
Allow from all
</Directory>
Include conf.d/
Include sites-enabled/
Include /etc/phpmyadmin/apache.conf
0
Vovan-VE
13177 / 6564 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
07.01.2011, 08:07 6
Цитата Сообщение от Dimedrol Посмотреть сообщение
Слушай, такое дело, у меня вообще получается .htaccess не работает
AllowOverride none заставляет апач полностью игнорировать .htaccess
Надо в <VirtualHost>'ах сделать не none (например, All)
Код
AllowOverride All
Добавлено через 2 минуты
Код
<VirtualHost *:80>
    ServerName foo.bar
    DocumentRoot C:/xampp/htdocs/bar/foo
    ErrorLog logs/error/foo.bar.log
    CustomLog logs/access/foo.bar.log common
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory C:/xampp/htdocs/bar/foo>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
0
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
07.01.2011, 22:34  [ТС] 7
default
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/2.2.16 (Ubuntu) Server at localhost Port 80

0
Vovan-VE
13177 / 6564 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
08.01.2011, 06:19 8
Цитата Сообщение от Dimedrol Посмотреть сообщение
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Хорошо, теперь .htaccess ошибку порождает. А в error.log'е есть чего интересного?
0
Dimedrol
2375 / 938 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
08.01.2011, 11:09  [ТС] 9
[Sat Jan 08 09:54:21 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.1 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.7(2010-06-23) mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Sat Jan 08 09:54:26 2011] [alert] [client 127.0.0.1] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

Добавлено через 11 минут
В нете увидел интересную статью в которой говориться о том, что можно активировать rewrite module в ручную.
Вот что происходило в терминале:

alex@alex:~$ sudo a2enmod rewrite
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
alex@alex:~$ /etc/init.d/apache2 restart
* Restarting web server apache2 [Sat Jan 08 10:03:09 2011] [warn] Useless use of AllowOverride in line 37 of /etc/apache2/apache2.conf.
[Sat Jan 08 10:03:09 2011] [warn] Useless use of AllowOverride in line 37 of /etc/apache2/apache2.conf.
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]

Добавлено через 3 минуты
Сделал! Если перегружать апач с помощью sudo, будет намного быстрее
0
08.01.2011, 11:09
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 11:09

RewriteRule
Всем доброго дня! Покажите как на практике можно заенить URL ...

RewriteRule
Никак не могу разобрать как это работает. Сколько примеров не смотрел ничего не получается....

RewriteRule
Прошу помощи. Не знаю как сделать так что бы работала вот эта строка со знаком вопроса. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.