RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^test\.localhost/$ [NC]
RewriteRule ^(.*)$ http://test\.localhost/err.php/$1 [NC,L]
这很有效。当我输入test.localhost / qwieoqjdoiqwje时,它会将我重定向到:
test.localhost / err.php / qwieoqjdoiqwje
但是我想重定向我将我重定向到test.localhost / qwieoqjdoiqwje并加载err.php。这可能通过htaccess吗? Thanks1
答案 0 :(得分:1)
您可以通过使用.htaccess
将所有请求重定向到一个文件来完成此操作<IfModule mod_rewrite.c>
# Block access to hidden files
RewriteRule "(^|/)\." - [F]
# Redirect requests that are not files or directories to index.php.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
</IfModule>
然后在index.php中使用路径执行你想要的任何功能。
if ($path == 'error' || $path == 'hello/world')
{
myerrorfunction();
}
这当然是一个非常简单的解决方案。您可能想要创建一个将路径映射到函数的数组。这就是大多数cms系统完成这项任务的方式。