Php url重写正在工作,但在错误的页面上
我有一个url重写工作,但我不确定我如何得到它,所以它只适用于我的搜索文件夹的索引页 我正在使用以下代码:Php url重写正在工作,但在错误的页面上,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,我有一个url重写工作,但我不确定我如何得到它,所以它只适用于我的搜索文件夹的索引页 我正在使用以下代码: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+?)/?$ /search/index.php?q=$1 [L,QSA] 具有以下文件夹结构: / /public_html /search -index.php (inside search dir)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ /search/index.php?q=$1 [L,QSA]
具有以下文件夹结构:
/
/public_html
/search
-index.php (inside search dir)
当我使用上述url重写时,我有以下输出:
http://blah.com/home/
唯一的问题是,它没有重定向到我的主文件夹,而是转到搜索页面并运行对主文件夹的搜索
我期望的结果是:
http://blah.com/search/query
where query是我实际搜索的内容
我的搜索目录index.php中的当前php代码:
include('../secure.php');
$search = $_GET['q'];
如何获取它,以便重写只在我的搜索文件夹的index.php页面上进行?使用以下代码将您的
.htaccess
保存在public\u html
目录中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^search/(.*)$ search/index.php?q=$1 [L,QSA]
两种方法都试过了,但都不起作用。为你的尝试干杯!请尝试在我的本地工作的经过良好测试的更新代码。没有,我仍然有:(这可能与我的url如何从初始页面传递有关吗?对不起,我不明白你说的我仍然有
…
。如果你访问blah.com/search/hello
,它将与访问blah.com/search/index.php?q=hello
是什么意思。但你不会被重定向到任何地方。这是什么意思你想要吗?是的,这就是我想要的,我想转到我的搜索目录,然后“获取”hello参数,并将其用作我的搜索条件。我希望这能让它更清晰一些?