这是我要求的网址:
localhost/register... // with dotes at the end
尝试使用$_GET
获取URI时:
echo $_GET['uri'];
返回register
。
我只有2个档案: .htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ home.php?uri=$1 [L,NC,QSA]
和home.php:
<?php
echo $_GET['uri'];
?>
我如何获得确切的查询字符串?
编辑: 当url是这样的时候它可以工作:
localhost/home.php?uri=register.. // returns register..
但在url是这样的时候不起作用:
localhost/register... // returns register
答案 0 :(得分:1)
尝试使用此规则替换您的规则,我们从%{REQUEST_URI}
中获取值:
RewriteEngine On
RewriteBase /xampp/external/projects/
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/xampp/external/projects/(.*)$
RewriteRule ^ page.php?uri=%1 [L,QSA]