我有一个具有以下规则的 .htaccess 文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
在 index.php 我有:
$route = (isset($_GET['route'])?explode('/',$_GET['route']):null);
if(!empty($route)){
$route[0]; //movie
//$route[1]; //movie-name
header("Location: " . "http://192.167.1.189/site_name/movie/" . $route[1]);
// $route[1] = 2271 (movie id)
exit;
}
目标是从此网址获取:
http://192.167.1.189/site_name/movie-page.php?id=2270
到这个网址:
http://192.167.1.189/site_name/movie/2270
我还想要一些其他的 url 更改,例如 .../movie-page.php 到 .../movie/ 等等...
我明白为什么我得到重定向循环,但我不知道如何解决它。如何将所有(除了有效文件和目录,如 css 文件和图像)重定向到中央 php 文件,然后重定向到用户友好的 url?