我想为我的网站制作自定义网址,例如我想要网址
http://www.mysite.com/first-link-page/
http://www.mysite.com/second-link-page/
此处,first-link-page,second-link-page,... etc不是每个链接的文件夹。它是使用.htaccess文件动态生成的页面。我使用comman模板文件,我传递varibles(例如,像第一个链接页面的值),并基于该页面显示。在.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在结尾处自动添加斜杠,以便我的网址正常工作。我怎么做。请帮助。
提前致谢..
答案 0 :(得分:3)
To make a single character optional in a regex, just put a question mark efter it.
这将使你的重写;
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]
请注意/您希望可选择与您的网址匹配后的问号。
答案 1 :(得分:1)
重写规则的问题在于,只有在最后找到斜杠时它才会起作用。要修改它,你应该使斜杠可选,如:
RewriteEngine on
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]