how to Rewrite Single Page url in .htaccess

风流意气都作罢 提交于 2019-12-24 12:34:52

问题


I need to rewrite only 1 specific URL from

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

to

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

I tried these two from stack overflow, I don't know why its not working

1st one :

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

2nd one :

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

回答1:


Try this:

4) Rewriting yoursite.com/user.php?username=xyz to yoursite.com/xyz

Have you checked zorpia.com.If you type http://zorpia.com/roshanbh233 in browser you can see my profile over there. If you want to do the same kind of redirection i.e http://yoursite.com/xyz to http://yoursite.com/user.php?username=xyz then you can add the following code to the .htaccess file.

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

See the full page here.

Hope it helps!




回答2:


I wouldn't use .htaccess with RewriteRule, since there are often problems with it. A simple workaround (with PHP redirect):

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



回答3:


You can either use h0ch5tr4355's workaround or you can try this:

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

If you instead of a rewrite would like it to redirect to the new url you can add R=301 to the flags of the RewriteRule.



来源:https://stackoverflow.com/questions/33231558/how-to-rewrite-single-page-url-in-htaccess

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!