|
|
|
| # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule /sdfsdfsdf /about [L,R]
</IfModule>
# END WordPress
RewriteRule /sdfsdfsdf /about [L,R] - не работает, пробовал записывать по всякому, Wordpress пишит "страница не найдена". Это просто я простейший пример привёл, потому что оно вообще не работает. Redirect работает, но мне нужно определить переадресацию для множества страниц.
Подскажите почему может не работать? Пробую на денвере и на хостинге. | |
|
|
|
|
|
|
|
для: SoFuWa
(21.06.2010 в 15:40)
| | Оно и не должно работать, ибо:
RewriteRule . /index.php [L]
убери [L] и дожно заработать.
Читать:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html | |
|
|
|
|
|
|
|
для: klimov
(23.06.2010 в 02:20)
| | спасибо что ответили, я в этом не спец, просто хотел сайт улучшить =) написал сюда не сразу, а весь день копал на эту тему в поисковиках, даже научился запросы составлять с этими запутанными регулярными выражениями | |
|
|
|
|
|
|
|
для: SoFuWa
(23.06.2010 в 17:08)
| | Убрал, а всё равно не работает, почему же у меня не работает даже самое простейшее правило? O_o
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
RewriteRule /sdfsdfsdf /about [L,R]
</IfModule>
# END WordPress | |
|
|
|
|
|
|
|
для: SoFuWa
(23.06.2010 в 17:13)
| | RewriteRule . /index.php - перенеправлять все запросы на index.php. На этом правиле все останавливается.
Вот если попробовать так то должно работать, (ключевое слово должно):
RewriteEngine On #- включение rewritte - если не задать, то ни одна директива не сработает.
RewriteBase / # делать все переалресации начиная от корня сайта.
# Условия
# %{REQUEST_FILENAME} - внутренняя переменная apache. Содержит путь к запрашиваемому файлу
RewriteCond %{REQUEST_FILENAME} !-f - запрашиваемый путь не файл
RewriteCond %{REQUEST_FILENAME} !-d - и не папка
# правила, которые обрабатываются если RewriteCond'ы выше верные
RewriteRule /sdfsdfsdf /about - при запросе /sdfsdfsdf отдавать файл /about
RewriteRule . /index.php - при любом запросе отдавать /index.php | |
|
|
|
|
|
|
|
для: SoFuWa
(23.06.2010 в 17:08)
| | А что хотел улучшить?:) | |
|
|
|
|
|
|
|
для: klimov
(23.06.2010 в 21:57)
| | Да на вордпресс сайт перенёс и там адресса другие и по старым адрессам теперь не открываются, а страницы были проиндексированы. Правило уже написал.
Всё равно не работает =) только теперь пишет "Internal Server Error" как только до RewriteRule . /index.php пишешь хоть 1 правило сразу такая фигня. Как же люди делают О_о
Даже если в адрессной строке написать http://aidsbratsksat.ru/index.php всё равно ошибка, не понимаю зачем эта надпись, и как бы сделать чтоб сначало моё правило проверялось а потом это. | |
|
|
|
|
|
|
|
для: SoFuWa
(23.06.2010 в 22:34)
| | Тогда пробуй менять Rule на эти:
RewriteRule ^sdf /about [R=301,L]
RewriteRule ^[^index.php](.*) /index.php [R=301,L]
у меня работает) | |
|
|
|
|
|
|
|
для: klimov
(23.06.2010 в 23:43)
| | ? | |
|
|
|
|
|
|
|
для: klimov
(23.06.2010 в 23:43)
| | ? | |
|
|
|
|
|
|
|
для: SoFuWa
(23.06.2010 в 22:34)
| | Во!
RewriteEngine On
RewriteRule ^sdf /about [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php [R=301,L] | |
|
|
|
|
|
|
|
для: klimov
(23.06.2010 в 23:46)
| | Египетская сила, заработало =)) спасибо.
Я тебя наверно достал уже, но такая фигня - с кванторами в URL не работает /index.php?view=items&cid=2&id=37%3A---&option=com_quickfaq&Itemid=24
например пишем правило
RewriteRule ^sdf?sdfd /about [R=301,L] - тут знак вопроса в URL и не работает нифига, ещё встречается ":" двоеточие, их вроде экранировать что ли надо обратным слешем, но так тоже не работает asdfd\?sfd. Есть какие мысли по этому поводу? Может встречался. | |
|
|
|
|
|
|
|
для: SoFuWa
(21.06.2010 в 15:40)
| | Добрый день!
Я столкнулся с такой проблемой.
Мой сайт выдает в ссылке руское название как поменять его на латинское к примеру УСЛУГИ на USLUGI
вот пример сайта
http://artixpro.kz/#!/УСЛУГИ
а надо
http://artixpro.kz/#!/uslugi
и как избавиться от этих символов #!
Я делаю вот так но у меня ничего непроисходит
RewriteEngine On
RewriteRule ^услуги /uslugi [L,R=301] | |
|
|
|