如何在不更改URL栏的情况下使用.htaccess在内部将请求重定向到特定页面。
实施例: 我想将所有404错误重定向到handle_controller.php。
我做了以下事情:
RewriteCond %{REQUEST_FILENAME} !-d [NC
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule (.*) handle_controller.php?p=$1 [NC, R]
它正在重定向,但它会不断更新URL栏。 例如:
我请求invalid.php重定向到handle_controller.php?p = invalid.php
如何将内部重定向到handle_controller.php,同时将URL栏保持为invalid.php
我使用的是R = 301和R = 302,但它无效。
答案 0 :(得分:0)
使用:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handle_controller.php?p=$1 [L]
[NC]
没有可供比较的文字时没用
使用[R]
,它是一个重定向,而不仅仅是重写。