0

我使用了很多代码来重定向我的子文件夹 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]
4

2 回答 2

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]
于 2013-03-05T18:57:03.507 回答
0

为了进行任何.htaccess工作,您需要做两件事。

首先是在 Apache 配置文件中启用它,在<Directory>与您的路径匹配的指令中,AllowOverride. 例如:

<Directory />
    Options None
    AllowOverride All
    Order deny, allow
    Deny from all
</Directory>  

这将允许使用.htaccess文件中指定的内容覆盖“/”(webroot)。这是指令的完整规范AllowOverride

第二件事是放在.htaccess任何有效的指令内。

请记住,RewriteCond规则相互叠加,直到您输入RewriteRule指令。这样您就可以制定更复杂的规则。你会在这里找到一个很好的指南。

于 2013-03-06T01:02:05.960 回答