/ / Przekierowanie admin / ??? do admin.php / ??? z .htaccess - php, .htaccess, url, mod-rewrite, rewrite

Przekierowanie admin / ??? do admin.php / ??? z .htaccess - php, .htaccess, url, mod-rewrite, rewrite

Oto mój plik htaccess w tej chwili:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /blog/

ErrorDocument 404 /blog/404.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*).html$ post.php/$1.html

RewriteRule ^index$ index.php
RewriteRule ^archives$ archives.php
RewriteRule ^about$ about.php
RewriteRule ^search$ search.php

RewriteRule ^feed$ feed.php

W tej chwili, jeśli pójdę do domain.com/blog/*.html, przekierowuje (w tle) do domain.com/blog/post.php/*

Chciałbym prawie skopiować to, ale nie jestem pewien co do wszystkich tych wyrażeń regularnych.

Chciałbym też móc pójść do domain.com/blog/admin/* i do przekierowania (w tle) do domain.com/blog/admin.php?p=*

Jeśli moglibyście mi pomóc, naprawdę bym to docenił!

Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

Coś jak:

RewriteRule ^/?admin/(.*)$ admin.php?p=$1&%{QUERY_STRING} [L,NC]

Da rade.

Robi się to bardzo szybko i nie jest testowane, ale daje ci pomysł.

RewriteRule ^(.*).html$ post.php/$1.html

Edycja: Odebrał rewritecond, odkąd uświadomiłem sobie, że jest bezużyteczny

Edycja: Dodano także ciąg zapytań, ponieważ obecnie konwertujesz _GET teraz.


0 dla odpowiedzi nr 2

Dodaj wiele widoków do pierwszego wiersza .htaccess:

Options FollowSymLinks MultiViews

Następnie uruchom ponownie apache. Powinien wskazywać admin na admin.php.

Uwaga: Nie twórz wielu plików w tym samym katalogu o tej samej nazwie i innym rozszerzeniu.

http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html