Как перенаправить все внутренне, используя htaccess и mod_rewrite? - PullRequest
2 голосов
/ 18 июня 2011

Я хочу обработать все запросы к домену, используя один скрипт php.

Например:

www.domain.com/something.php -> would be loading -> www.domain.com/process.php?u=something.php
www.domain.com/anything      -> would be loading -> www.domain.com/process.php?u=anything
www.domain.com/sub/dir/x     -> would be loading -> www.domain.com/process.php?u=sub/dir/x

Но process.php никогда не должен открываться прямо в браузере, я хочу сделать это как внутреннее перенаправление.

Может ли кто-нибудь показать мне, как я могу использовать для этого htaccess и mod_rewrite?

1 Ответ

3 голосов
/ 18 июня 2011

Поместите эти строки в ваш .htaccess файл:

RewriteEngine On
RewriteRule (.*) process.php?u=$1 [QSA,L]

Это скажет Apache использовать process.php вместо фактически запрашиваемой страницы.

Скорее всего, вам также нужно будет добавить эти строки перед строкой RewriteRule, чтобы указать Apache обрабатывать существующие файлы как есть, в противном случае ваши файлы images / css / javascript также будут обрабатываться process.php

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