繁体   English   中英

.htaccess重定向

[英].htaccess redirection

您好我想通过.htaccess文件进行一些重定向:一些示例

mysite.com/accepted -> mysite.com/index.php?type=accepted
mysite.com/waiting -> mysite.com/index.php?type=waiting
mysite.com/cancelled -> mysite.com/index.php?type=cancelled

mysite.com/edit/2 - > mysite.com/admin.php?edit=2

等等。 对于所有可能的数字

mysite.com/login -> mysite.com/admin.php?action=login
mysite.com/register -> mysite.com/admin.php?action=register
mysite.com/lostpassword - > mysite.com/admin.php?action=lostpassword 
mysite.com/add - > mysite.com/add.php

感谢您的帮助;)

@edit:应该用这种方式完成,但要屏蔽网址。

重定向是哪种方式? 通常会看到从给定的右侧重定向到左侧,而不是相反。

编辑我看到你已经解决了这个问题,所以我的假设是正确的:

即您通常会看到:

RewriteRule ^edit/([0-9]+)$ /admin.php?edit=$1 [L]

等等,以将友好的RESTful样式URL映射到内部URL。

如果您想自己进入该主题, www.modrewrite.com提供了许多很棒的mod_rewrite资源,并提供了许多示例。

如果我正确理解您的修改,则需要此

<?php
header('Location: http://mysite.com/'.$_GET['type']);
?>

也许像下面这样?

RewriteRule ^www.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+) /index.php?$1=$2&$3=$4 [NC]

请注意,您将必须解析URL(REQUEST_URI),而不是访问$_GET

由于您的URL中没有可用于将URL映射到目标的结构化模式,因此您可能需要为每个组使用一个规则,如下所示:

RewriteRule ^add$ add.php [L]
RewriteRule ^(login|register|lostpassword)$ admin.php?action=$1 [L]
RewriteRule ^edit/(\d+)$ admin.php?edit=$1 [L]
RewriteRule ^(accept|waiting|canceled)$ index.php?type=$1 [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM