0

クライアントは、カスタム URL を使用した求人広告をマスコミに掲載しています。

例: www.clientsname.com/newjob

...このページはサイトに存在しませんが、人々がこのページにアクセスすると、採用ページにリダイレクトされるようにしたいと考えています。

例: www.clientsname.com/recruitment

現在、.htaccess ファイルは次のようになっています。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=PublicDisplayPage&url=$1 [L,QSA]

...上記が何をするかを理解しているふりはしません! ただし、リダイレクトのために次のことを試しました。

Redirect 301 /newjob www.clientsname.com/recruitment

しかし、これは次のURLになりました:

http://www.clientsname.com/recruitment?action=PublicDisplayPage&url=newjob

www.clientsname.com/recruitmentだけにリダイレクトするために何をする必要があるか誰か教えてもらえますか-つまり、?action=PublicDisplayPage&url=newjobなし

どうもありがとう!

4

1 に答える 1

1

Redirectディレクティブは mod_alias ディレクティブであり、ルーティングは/index.phpmod_rewrite 経由です。両方のモジュールが同じ URI を処理したため、どちらも URI をマングルします。この場合、mod_rewrite だけに固執する必要があります。

RewriteEngine On

RewriteRule ^/?newjob(.*)$ /recruitment$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=PublicDisplayPage&url=$1 [L,QSA]

ルーティング ルールの前にリダイレクトを設定することが重要です。そうしないと、リダイレクトが発生しません。

于 2012-10-26T04:17:31.737 に答える