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 № 1Coś 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