通过重新路由所有的index.php PHP请求 [英] Rerouting all php requests through index.php
问题描述
我如何重新路由的PHP网页上的所有请求通过的index.php?
How can I reroute all requests for php pages through index.php?
我的.htaccess如下:
My .htaccess is as follows:
Options +FollowSymLinks
IndexIgnore */*
#Turn on the RewriteEngine
RewriteEngine On
# Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !.*\.(js|ico|gif|jpg|png|css|pdf)$ index.php%{REQUEST_URI} [L]
基本上,我试图效仿.NET母版页。在index.php有网站页眉/页脚。
Basically, I'm trying to emulate .NET master pages. The index.php has the site header/footer.
据404重定向到index.php。我怎样才能使它重定向所有的请求的PHP页面(除本身的index.php)?
It redirects 404 to index.php. How can I make it redirect all requests to php pages (except index.php itself)?
有没有用这种方法(不想使用框架)?
Is there any performance issues with this method (don't want to use a framework)?
推荐答案
下面是我使用(并已用于年龄):
Here's what I use (and have used for ages):
<IfModule mod_rewrite.c>
# Redirect /index.php to / (optional, but recommended I guess)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php
RewriteRule ^index.php/?(.*)$ $1 [R=301,L]
# Run everything else but real files through index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1?%{QUERY_STRING} [L]
</IfModule>
由于言论表明其将路由每个请求不是一个实际的文件到index.php
As the comments suggest it will route every request that isn't an actual file to index.php
这篇关于通过重新路由所有的index.php PHP请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!