我有一个网站设置,用户可以在其中声明" / pages",例如
mywebsite.com/example1或mywebsite.com/example2。
如果用户输入的网址不存在,则显然会重定向到404错误页面。但是,我想要它,以便如果用户键入一个不存在的包含只字母或数字(没有符号等)的URL,然后它将被重定向到页面我创建了说明" url可用!"。
我配置了一个.shtml页面,以便在输入有效的URL时显示:
<h1>available</h1>
<div>mywebsite.com<!--#echo var="REQUEST_URI" --> is available.</div>
但是,我不知道如何设置&#34;有效性&#34;部分。如果输入的URL只包含数字或字母,没有符号,我希望它只显示此页面。换句话说,
mywebsite.com/@user goes to 404 error page
mywebsite.com/u$er goes to 404 error page
mywebsite.com/user_ goes to 404 error page
mywebsite.com/user redirects to my custom page
mywebsite.com/user123 redirects to my custom page
mywebsite.com/123 redirects to my custom page
我目前已经设置了404错误页面,其中表示&#34; mywebsite.com /(...)可用&#34;但这会引起问题,因为它会说几乎任何可用的东西。我尝试使用RewriteRule ^(.*);(.*)$ /error.shtml [L,R=301]
阻止某些字符,其中每个RewriteRule检测到url是否包含另一个符号并执行301重定向到我的自定义错误页面。但是,此代码无法重定向所有符号,例如,如果我将RewriteRule ^(.*)$(.*)$ /error.shtml [L,R=301]
重定向到重定向网址中的美元符号的任何使用,则会给我一个服务器错误&#34; $&# 34;是一个保留字符。 (除非有一个我不知道的解决方法)!所以我改为采用这种方法,而不是阻止符号,只允许 允许字母和数字。
非常感谢帮助!并且需要!