通过index.php重新路由所有php请求

如何通过index.php重新路由所有对php页面的请求?

我的.htaccess如下:

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具有站点页眉/页脚。

它将404重定向到index.php。我如何使其将所有请求重定向到php页面(index.php本身除外)?

此方法是否存在任何性能问题(不想使用框架)?

回答:

这是我使用的(并且已经使用了很长时间):

<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

以上是 通过index.php重新路由所有php请求 的全部内容, 来源链接: utcz.com/qa/416271.html

回到顶部