1
我想让它访问非书面网址,例如下面这个:website.com/profile.php?name=Alex你会被重定向到一个404找不到页面。但是,如果您访问website.com/profile/Alex,它将正常工作。我怎么能这样做?如果使用Htaccess中未重写的URL,我该如何重定向用户?
我想让它访问非书面网址,例如下面这个:website.com/profile.php?name=Alex你会被重定向到一个404找不到页面。但是,如果您访问website.com/profile/Alex,它将正常工作。我怎么能这样做?如果使用Htaccess中未重写的URL,我该如何重定向用户?
您可以使用这些规则:
Options -MultiViews
RewriteEngine On
# 404 if using internal URL directly
RewriteCond %{THE_REQUEST} /profile\.php\?name= [NC]
RewriteRule^- [R=404,L]
# rewrite for /profile/alex
RewriteRule ^(profile)/([\w-]+)/?$ $1.php?name=$2 [L,QSA,NC]
谢谢!有效。 –
我仍然有一个问题.. 每当使用此调用404文档时: ErrorDocument 404 /alliance/404.php 只会重定向到第一个规则的404页面。所以,假设我已经使用了您给我的东西两次,每次只有一页,它只会将我重定向到.htaccess文档中第一条规则的404页面。对于其他规则,它会将我重定向到默认的404页面。在尝试使用ErrorDocument来处理请求时遇到了“另外,404 Not Found”错误。文本。 –