У меня есть некоторые перезаписи, которые изменят имена файлов на структуры URL.Правила повторного использования или продолжения
http://example.com/landing-myfile.html будут преобразованы в http://example.com/landing/myfile/
Я пытаюсь установить страницу по умолчанию, сохранить URL, а затем переработать правила.
Таким образом, если пользователь вводит в http://example.com/asdfasdfasdf
он будет перенаправлять http://example.com/landing-mydefault.html
, но я хочу, чтобы показать, как http://example.com/landing/mydefault/
У меня есть переписывает работу для всех симпатичной URL, и у меня есть отсутствующие папки/файлы, перенаправляемые на страницу по умолчанию. Но тогда мне нужно продолжать переписывать все остальные правила.
Вот что у меня есть.
RewriteEngine On
RewriteBase/
#redirects bad requests to a default.
#works but leavings landing-mydefault.html in the address bar.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /landing-mydefault.html [R,L]
#process the pages and converts them to pretty urls.
#everything below works as it should.
RewriteCond %{THE_REQUEST} landing-([^.]+)\.html\s [NC]
RewriteRule^/landing/%1/ [R=302,L,NE]
RewriteCond %{THE_REQUEST} landing-([^.]+)\.html\?v=([^\s&]+) [NC]
RewriteRule^/landing/%1/%2? [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule^- [L]
RewriteRule ^landing/([^/]+)/?$ /landing-$1.html [L]
RewriteRule ^landing/([^/]+)/([^/]+)/?$ /landing-$1.html?v=$2 [L,QSA]
не кажется, независимо от того, что помещается в адресную строку, даже действительных файлов, возвращает веб-страницы не доступны ошибки. – gin93r
Вы тот, кто помог мне написать красивые URL-адреса. [Вот ссылка] (http://stackoverflow.com/questions/26784082/htaccess-url-rewrite-with-and-without-query-string), если это помогает решить эту проблему. Благодарю. – gin93r
Он оставит все, что было в адресной строке. – gin93r