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

仕事をするため.htaccessには、2 つのことを行う必要があります。

<Directory>最初に、Apache 構成ファイルで、パスに一致するディレクティブ内で有効にしますAllowOverride。例えば:

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

これにより、ファイルで指定されたもので「/」(webroot) をオーバーライドでき.htaccessます。ディレクティブの完全な仕様は次のとおりです。AllowOverride

.htaccess2 つ目は、有効なディレクティブ内に配置することです。

ディレクティブRewriteCondを配置するまで、ルールは互いに積み重なることを覚えておいてください。RewriteRuleこれにより、より複雑なルールを作成できるようになります。このための優れたガイドがここにあります

于 2013-03-06T01:02:05.960 に答える
0

最初の URL を 2 番目にリストされた URL にリダイレクトしようとしているだけだと仮定すると、これは私のサーバーで機能します。

注意すべきことの 1 つは、リストされている順序によって違いが生じることです。以下の私の例では、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 に答える