输入特定网址时如何重定向?

时间:2012-03-26 07:59:53

标签: php mod-rewrite joomla

我的joomla网站上有一个网址

http://www.mysite.com/index.php?option=com_content&view=frontpage&Itemid=3220

我的客户希望将其作为

进行访问

http://www.mysite.com/sales

我使用mod_rewrite来做到这一点它工作正常。但是当用户输入

时我想要

http://www.mysite.com/sales

它应该到达

http://www.mysite.com/index.php?option=com_content&view=frontpage&Itemid=3220

而不只是显示该网址的内容。

3 个答案:

答案 0 :(得分:1)

获取当前页面网址,如果是销售,则使用位置标题重定向

    function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}

header("Location: http://www.mysite.com/index.php?option=com_content&view=frontpage&Itemid=3220");

这样:

$pageurl = curPageURL();

if ($pageurl == "http://www.mysite.com/sales") {
header("Location: http://www.mysite.com/index.php?option=com_content&view=frontpage&Itemid=3220");
}

答案 1 :(得分:1)

  1. 在root下创建名为/sales/
  2. 的目录
  3. index.php ...
  4. 中创建一个名为/sales/的文件
  5. 把它放进去:

    Header( "HTTP/1.1 301 Moved Permanently" ); 
    Header( "Location: http://www.mysite.com/index.php?option=com_content&view=frontpage&Itemid=3220" ); 
    
  6. 然后:

    1. 删除mod_rewrite更改。
    2. 认真尝试让客户端更新到1.5.25,因为自1.5.10代码库以来有很多安全修复程序。

答案 2 :(得分:0)

我不知道Joomla功能

但对于一个普通的php应用程序我会有 在父文件夹中创建.htaccess。并将所有调用重定向到单个文件(前端控制器设计模式)

.htaccess的内容将是

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

所有查询字符串都可在$ _GET ['url']

中使用