2012-01-24 117 views
0

我使用的是Apache 2.2和PHP 5.3.8。 我应该如何配置.htaccess重定向每个请求做index.php?将每个请求重定向到index.php并解释请求

我想要有类似于stackoverflow或Facebook的URL,如下所示:http://mywebsite.com/fancypage 其中fancypage不是服务器上的目录,而只是一个参数。

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

回答

4

尝试添加以下到您的网站的根目录下的.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] 
+0

谢谢你,你的代码符合法案!反正我设法生产出满足我的基本需要一个简单的代码,并期待这样的:?? ' RewriteEngine叙述在 重写规则^(产品|管理|支持|资讯|等)/ $的index.php REQ = $ 1 [NC] [L]' – Valentino

+0

我试图删除RewriteCond,以匹配任何查询..但我认为,PHP的include()不能工作了。有没有解决方法?我不希望用户访问包含文件.. – Valentino

+0

@ user1168006我不明白这个问题:你能澄清你的意思吗 –

相关问题