将每个请求重定向到index.php并解释请求

时间:2012-01-24 22:14:22

标签: .htaccess url redirect interpretation

我正在使用Apache 2.2和PHP 5.3.8。 我应该如何配置.htaccess重定向每个请求做index.php?

我想要像stackoverflow或facebook这样的网址,如:http://mywebsite.com/fancypage 其中fancypage不是服务器上的目录,只是一个参数。

所以我认为我需要将每个请求重定向到php页面,其中一些代码可以解释$ _SERVER ['REQUEST_URI']字符串。这是正确的方法吗?重定向后$ _SERVER ['REQUEST_URI']仍然可用吗?

2 个答案:

答案 0 :(得分:5)

尝试将以下内容添加到您网站根目录中的.htaccess文件中。

它会将所有请求(现有文件/目录除外)发送到index.php。

原始请求将在request参数中提供。

RewriteEngine On
RewriteBase /

#skip existing files or directories
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
#everything else goes to index.php
RewriteRule ^ index.php?request=%{THE_REQUEST} [L]

答案 1 :(得分:1)

你感兴趣的是Apache的url_rewrite函数。我建议你访问这两个链接并进行一些研究: