/ / Перенаправлення адміністратора / ??? до admin.php / ??? з .htaccess - php, .htaccess, url, mod-rewrite, rewrite

Перенаправлення адміністратора / ??? в admin.php / ??? з .htaccess - php, .htaccess, url, mod-переписати, переписати

Ось мій файл htaccess на даний момент:

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

На даний момент, якщо я піду до domain.com/blog/*.html, він перенаправляє (у фоновому режимі) на domain.com/blog/post.php/*

Я хотів би майже скопіювати це, але я не впевнений у всьому цьому, що стосується регулярних виразів.

Я хотів би мати можливість також поїхати до domain.com/blog/admin/* і для його перенаправлення (у фоновому режимі) на domain.com/blog/admin.php?p=*

Якби ви, хлопці, могли мені допомогти, я б це дуже вдячний!

Дякую

Відповіді:

1 для відповіді № 1

Щось на зразок:

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

Зробимо трюк.

Це робиться дуже швидко, і це не перевірено, але це дає вам ідею. Ви ставите це вище:

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

Редагувати: Витягнув перезапис, оскільки я щойно зрозумів, що він марний

Редагувати: додано також рядок запиту, оскільки ви фактично перетворюєте _GET зараз.


0 для відповіді № 2

Додайте кілька переглядів у перший рядок вашого .htaccess:

Options FollowSymLinks MultiViews

Потім перезапустіть apache. Він повинен вказувати адміністратора на admin.php.

Примітка. Не майте декількох файлів в одному каталозі з однаковим ім'ям та іншим розширенням.

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