|
|
|
| Есть сайт и страница на нем paga1.html
чел обращается к этой странице, но ему показывается содержимое, другой стрницы, например else.html
но в строке браузера по прежнему paga1.html (то есть внешнего редиректа нет, сервер просто взял содержимое другого файла)
Можно ли такое сделать с помощью htaccess?
Файлов типа paga1.html много и их править долго, если делать на php, а вот в htaccess большое количество файлов попроще добавить | |
|
|
|
|
|
|
|
для: amster
(03.07.2011 в 18:27)
| | Можно начать отталкиваться от следующего .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^/paga1.html$ /else.html [L]
|
| |
|
|
|
|
|
|
|
для: cheops
(03.07.2011 в 19:30)
| | Спасибо, подходит, а как можно сделать переадресовать таким образом все запросы к сайту на один файл, с передачей ему параметра ?q=запрошенный урл | |
|
|
|
|
|
|
|
для: amster
(04.07.2011 в 10:55)
| | Абсолютно все запросы не получится, так как и конечный получившийся запрос будет обрабатываться правилами - нужно как-то разделить запросы и обработчик, обычно прибегают к разным папкам, в корне это практически не реально сделать. | |
|
|
|
|
|
|
|
для: cheops
(04.07.2011 в 11:59)
| | Исключения никак не добавить?
То есть все, кроме файла-обработчика? | |
|
|
|
|
|
|
|
для: amster
(04.07.2011 в 12:01)
| | Можно, но нужно больше подробностей, как называется обработчик, какие обычно запросы. | |
|
|
|
|
|
|
|
для: cheops
(04.07.2011 в 12:09)
| | Сделал вот так, работает
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ all.php?q\*=$1 [L,QSA]
Как ещё можно добавить к исключениям, любую страницу, если присутствует GET параметр? | |
|
|
|
|
|
|
|
для: amster
(04.07.2011 в 12:17)
| | Можно проверить содержимое переменной состояния QUERY_STRING и разрешать RewriteRule-правило, только если она пустая
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ all.php?q\*=$1 [L,QSA]
|
| |
|
|
|