如何通过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