将所有内容重定向到index.php

时间:2010-04-19 16:52:43

标签: php redirect

我试图通过展开$_SERVER['REQUEST_URI']然后在结果之间切换来做干净的网址。

但是,一旦用户离开index.php,我假设我需要将其重定向回index.php,以便处理他们想要覆盖的网址。我怎么能做到这一点?

例如,如果用户转到www.domain.com/home/johndoe/...,我希望index.phpdomain.com/index.php)被点击,以便它可以/home/johndoe/来处理request_uri 1}}。

3 个答案:

答案 0 :(得分:19)

htaccess的:

RewriteEngine on
RewriteBase /
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)$ index.php?param=$1 [QSA,L]

答案 1 :(得分:2)

您可以使用Apache的mod_rewrite根据正则表达式映射网址,包括将所有内容发送到index.php

答案 2 :(得分:2)

您将需要图片以及将在index.php中显示的其他文件。

RewriteEngine On

打开Rewite Engine

RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$

如果文件名不等于JPG,JPEG ...需要index.php

RewriteRule ^(.*)$ index.php?q=$1 [QSA]

“重定向”到index.php。

使用中:

使用PHP $_GETq将为您提供/articles/1987/12/20/Répa's birthday/

如果使用

拆分每个斜杠中的变量
list($type, $date_year, $date_month, $date_day, $title) = split('[/-]', $_GET['q']);

你会得到你想要的。