我想为我的网站制作自定义url,例如我想要类似的url
http://www.mysite.com/first-link-page/
http://www.mysite.com/second-link-page/
这里,第一个链接页面,第二个链接页面,。。。etc不是每个链接的文件夹。它是使用.htaccess文件动态生成的页面。我使用了一个comman templet文件,我将变量传递到该文件(例如,像第一个链接页面这样的值),并基于该页面进行显示。在.htaccess文件中,我使用以下代码
RewriteEngine on
RewriteRule ^([^/.]+)/$ mytemplet.php?parameter=$1 [QSA,L]
这很好用。但如果在浏览器中用户键入
http://www.mysite.com/first-link-page //without slash at ending
http://www.mysite.com/second-link-page
它给出了找不到页面的错误。我希望.htaccess在末尾自动添加斜杠,这样我的url就可以正常工作了。我该怎么做。请帮忙。
提前谢谢。。
要使正则表达式中的单个字符可选,只需在其前面打一个问号。
这会让你重写;
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]
请注意/后面的问号,您希望与您的URL进行选择性匹配。
重写规则的问题是,只有在末尾找到斜杠时,它才能工作。要修改此项,您应该使斜杠可选,如:
RewriteEngine on
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]