我正在使用Apache 2.2和PHP 5.3.8。 我应该如何配置.htaccess重定向每个请求做index.php?
我想要像stackoverflow或facebook这样的网址,如:http://mywebsite.com/fancypage 其中fancypage不是服务器上的目录,只是一个参数。
所以我认为我需要将每个请求重定向到php页面,其中一些代码可以解释$ _SERVER ['REQUEST_URI']字符串。这是正确的方法吗?重定向后$ _SERVER ['REQUEST_URI']仍然可用吗?
答案 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函数。我建议你访问这两个链接并进行一些研究: