1

編集 :

URLをリダイレクトしたい

に :www.example.com/location/sydney

から: www.example.com/rss.php?pickup=sydney

問題は、www.example.com/location/sydney から $_GET['pickup'] 値を取得できないことです。また、場所も変更されます。たとえば、ケアンズ、ロンドンなどである可能性があります。その中に rss.php というファイルがあります。 $_GET['pickup'] から値を取得します。私はこれを試しました:-Redirect /location http://deals.vroomvroomvroom.com.au/rss.php

しかし、それは私にURLを提供します:- http://deals.vroomvroomvroom.com.au/rss.php/sydneyURLを入力するとwww.example.com/location/sydney

4

6 に答える 6

1

.htaccess ファイルでこれを試してください

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
于 2012-07-26T13:12:54.747 に答える
1

.htaccess ファイルを次の場所のディレクトリに配置します。

RewriteEngine On
RewriteRule (.*) ../index.php?location=$1&e=1 [L,QSA]

これは、/location へのリクエストに使用する index.php が location ディレクトリの上のディレクトリにあることを前提としています。

www.abc.com/?location=sydneyリダイレクト ( to )も必要な場合www.abc.com/location/sydneyは、DocumentRoot にある (別の) .htaccess ファイルに次を追加するのが最善の方法だと思います。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)location=([^&]*)(.*) [NC]
RewriteCond %{QUERY_STRING} !&e=1 [NC]
RewriteRule ^(.*)$ $1/location/%2?%1%3 [R=301,L,NE]
于 2012-07-26T14:23:50.207 に答える
1

これを試してください

RewriteEngine    On
RewriteCond      %{QUERY_STRING}    ^location=1$
RewriteRule      (.*)               $1?     [R=permanent]
于 2012-07-26T13:23:46.263 に答える
0

次の 2 つの問題が考えられます。

1) mod_rewrite は有効になっていますか? 次のコマンドで確認してください: apache2ctl -M | grep rewriterewrite_module (shared)if it's enabled のような行が表示されるはずです。そうでない場合は、有効にします。

2) .htaccess ファイルを使用する権限がありますか? 仮想ホストの構成を確認します。これには、次のような行 AllowOverride が含まれている必要があります。

<Directory "/var/www/your/site/">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

私の例では、AllowOverride が None に設定されているため、mod_rewrite は機能しません。ここで必要なものを確認してください: http://httpd.apache.org/docs/2.2/mod/core.html#allowoverrideただし、基本的には ではない他の有効なオプションに設定する必要がありますNone。そうしないと、Apache は.htaccessファイルを完全に無視します。 .

于 2012-07-26T13:13:35.863 に答える
0

場所は何でもかまいません...次のコードを試しましたが、機能しません。

から /location.php?location=sydney リダイレクトする場合/location/sydneyは、RewriteRule が間違っています。残念ながら、クエリ パラメータに基づいて書き換えることはできません。

于 2012-07-26T13:15:05.897 に答える
0

mod_rewrite を有効にしましたか?sudo a2enmod rewrite

tail -f /var/log/apache2/error.logまた、更新を押したときの出力は何ですか?

于 2012-07-26T12:51:55.980 に答える