正如标题所说,我想要所有的请求
domain.com/something
domain.com/somethting/else
domain.com/a/third/thing
重定向到
domain.com
但仍然显示原始网址,因为我想将它们用作参数。我尝试了these two个提示,但网址最终显示
domain.com
答案 0 :(得分:0)
我找到了答案here at Gareth Jones's blog:
将所有请求传递到单个PHP脚本
我需要具有特定URL前缀的所有请求由单个脚本处理。使用.htaccess文件中的以下URL重写规则可以轻松解决此问题:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^.*$ index.php
请注意,我必须在Apache中启用mod_rewrite模块,并确保可以使用以下内容覆盖指令:
<Directory /var/www/>
AllowOverride All
</Directory>
确定完整请求的网址
我的应用程序因URL重写而变得复杂的另一个要求是我需要访问完整的URL。我通过以下代码实现了这一点:
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$location = $_SERVER['REQUEST_URI'];
if ($_SERVER['QUERY_STRING']) {
$location = substr($location, 0, strrpos($location, $_SERVER['QUERY_STRING']) - 1);
}
$url = $protocol.'://'.$_SERVER['HTTP_HOST'].$location;