|
|
|
| Провозился пол дня((
В папке pages хранятся html файлы, к примеру zzz.html и xxx.html
Надо что бы они были доступны как http://site.ru/zzz и http://site.ru/xxx
Родил пока вот это
RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)([^\/]*).html$ $2 [R=301,L]
RewriteCond %{REQUEST_URI} ^/([^\/]+)$
RewriteCond %{DOCUMENT_ROOT}/pages/%{REQUEST_URI}.html -f
RewriteRule ^(.+)$ pages/$1.html [L,QSA]
|
По отдельности работают, объеденить не получается.
Ну и до кучи, если файла в папке не находит, отдавать что страница не найдена
Забыл сказать, что бы http://site.ru/pages/zzz.html перенаправлялось на http://site.ru/zzz но отображался файл, не урл! http://site.ru/pages/zzz.html | |
|
|
|
|
|
|
|
для: mikha
(15.09.2013 в 15:06)
| | Пришёл пока вот к этому
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) /pages/(.*).html HTTP/[0-9.]+$"
RewriteRule ^pages/(.*).html$ $1 [R=301,L]
RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) /(.*).html HTTP/[0-9.]+$"
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/%{REQUEST_URI}.html -f
RewriteRule ^([^\.]+)$ pages/$1.html [L,QSA]
ErrorDocument 404 /404.html
|
Вроде работает. Попинайте плиз | |
|
|
|
|
|
|
|
для: mikha
(15.09.2013 в 19:41)
| | В общем в очередной раз переделал. index.php оказался в корне, остальное в папке
DirectoryIndex index.php
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ / [R=301,L]
RewriteRule ^index$ / [R=301,L]
RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) /pages/(.*)\.html HTTP/[0-9.]+$"
RewriteRule ^pages/(.*)\.html$ $1\.html [R=301,L]
RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) /(.*)\.html HTTP/[0-9.]+$"
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/%{REQUEST_URI}\.html -f
RewriteRule ^([^\.]+)$ pages/$1\.html [L,QSA]
ErrorDocument 404 /404.html
|
| |
|
|
|