我使用了很多代码来重定向我的子文件夹url,但没有工作。
From :: http://www.mydomain.com/doctor/searchresult.php?txtcity=Chennai&txtarea=Annanagar
To :: http://www.mydomain.com/doctor/Chennai/Annanagar
使用的htaccess代码如下所示
RewriteRule ^doctor/([a-zA-Z0-9_-]+)/searchresult$ /doctor/searchresult.php?txtcity=$1&txtarea=$2 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)/doctor/$ searchresult.php?txtcity=$1&txtarea=$2
RewriteRule ^doctor/([a-zA-Z0-9_-]+) /doctor/searchDocResult.php?selFindDocCity=$1&txtFindDocAreaRzip=$2 [L]
答案 0 :(得分:0)
假设您只是尝试将第一个URL重定向到第二个列出的URL,这在我的服务器上有效。
有一点需要注意的是,它们列出的顺序确实有所不同。最具体的需要首先列出,这样txt城市中的所有txtarea必须首先按照下面的例子列出。
祝你好运,让我知道它是如何为你效力的。添
Tim@mpact-media.com
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain.com [NC]
RewriteCond %{REQUEST_URI} searchresult\.php
RewriteCond %{QUERY_STRING} txtarea=Annanagar
RewriteRule .* doctor/Chennai/Annanagar/? [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain.com [NC]
RewriteCond %{REQUEST_URI} searchresult\.php
RewriteCond %{QUERY_STRING} txtcity=Chennai
RewriteRule .* doctor/Chennai/? [R=301,L]
答案 1 :(得分:0)
为了使任何.htaccess
工作,您需要做两件事。
首先,在Apache配置文件中,在与您的路径<Directory>
匹配的AllowOverride
指令中启用它。例如:
<Directory />
Options None
AllowOverride All
Order deny, allow
Deny from all
</Directory>
这将允许使用.htaccess
文件中指定的内容覆盖“/”(webroot)。这是AllowOverride
指令的complete spec。
第二件事是放在.htaccess
任何有效指令内。
请记住,RewriteCond
规则会相互叠加,直到您放置RewriteRule
指令。这就是您如何制定更复杂的规则。你会找到一个很好的指南here。