如何在.htaccess中重写单页网址

时间:2015-10-20 08:22:38

标签: .htaccess mod-rewrite

我只需要重写一个特定的网址 来自

http://www.domainname.com/index.php?route=payment/axis/callback

http://www.domainname.com/payment/axis/callback

我从堆栈溢出中尝试了这两个,我不知道为什么它不起作用

第一名:

RewriteRule     ^([A-Za-z0-9-]+)/?$  index.php?route=payment/axis/callback    [NC,L]    

第二个:

RewriteRule ^index.php?route=payment/axis/callback payment/axis/callback [L]

3 个答案:

答案 0 :(得分:1)

试试这个:

  

4)将yoursite.com/user.php?username=xyz重写为yoursite.com/xyz

     

您是否检查过zorpia.com。如果您在浏览器中输入http://zorpia.com/roshanbh233,则可以在那里看到我的个人资料。如果您想进行相同类型的重定向,即http://yoursite.com/xyzhttp://yoursite.com/user.php?username=xyz,那么您可以将以下代码添加到.htaccess文件中。

     

RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1 RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

请参阅整页here.

希望它有所帮助!

答案 1 :(得分:0)

我不会将.htaccessRewriteRule一起使用,因为它经常出现问题。 一个简单的解决方法(使用PHP重定向):

<?php
if($_GET['route'] == 'payment/axis/callback') {
    header("Location: http://www.domainname.com/payment/axis/callback");
}
?>

答案 2 :(得分:0)

您可以使用h0ch5tr4355的解决方法,也可以尝试:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^route=payment/axis/callback$
RewriteCond %{SCRIPT_FILENAME} index.php
RewriteRule (.*) /payment/axis/callback [NC,QSD]

如果您不想重写,而是希望将其重定向到新网址,则可以将R=301添加到RewriteRule的标记中。