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

但这导致了这个网址:

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.php是通过 mod_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 回答