【发布时间】:2016-04-30 19:53:26
【问题描述】:
我想将不进入目录的 url 重定向到一个脚本(例如 script1.php),并将具有类别的 url 重定向到另一个脚本(script2.php)。基本上我想做这样的事情: http://www.test.com/user1 -> http://www.test.com/script1.php?username=user1 其中 script1.php 获取用户名并为该用户提供适当的页面。我有那部分使用这段代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ script1.php?username=$1 [L,QSA]
现在的问题是我还想要描述性的产品网址,例如 http://www.test.com/clothes/jackets/cool-red-jacket-25 重定向到 http://www.test.com/items.php?category=clothes&subcategory=jackets&id=25。我有一些代码也应该适用:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([a-zA-Z-]+)/([a-zA-Z-]+)/.*-A([0-9-.]+)\.php$
script2.php?category=$1&subcategory=$2&id=$3 [L]
我遇到的问题是将这两种类型的重定向结合起来。第一个重定向总是重定向到它自己的页面,第二个重定向永远不会到达。是否可以将这两者结合起来,以哪种方式结合?如果可能的话,基本上我需要类似的东西用于 htaccess
if(!urlHasDirectories) {
redirect to script1.php?username=$username;
} else {
redirect to script2.php?category=$category&subcategory=subcategory&id=$id;
}
【问题讨论】:
标签: php apache .htaccess redirect url-redirection