Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用htaccess文件设置URL格式_Php_.htaccess - Fatal编程技术网

Php 使用htaccess文件设置URL格式

Php 使用htaccess文件设置URL格式,php,.htaccess,Php,.htaccess,我想为我的网站定制url,例如,我想要像这样的url http://www.mysite.com/first-link-page/ http://www.mysite.com/second-link-page/ 这里,第一个链接页面,第二个链接页面,。。。etc不是每个链接的文件夹。它是使用.htaccess文件动态生成的页面。我使用comman模板文件传递变量(例如,像第一个链接页面这样的值),并基于该页面显示。在.htaccess文件中,我使用以下代码 RewriteEngine on R

我想为我的网站定制url,例如,我想要像这样的url

http://www.mysite.com/first-link-page/
http://www.mysite.com/second-link-page/
这里,第一个链接页面,第二个链接页面,。。。etc不是每个链接的文件夹。它是使用.htaccess文件动态生成的页面。我使用comman模板文件传递变量(例如,像第一个链接页面这样的值),并基于该页面显示。在.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]
请注意/you后面的问号,您希望与您的URL进行选择性匹配。

这将使你的规则

RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]

请注意/you后面的问号,您希望有选择地与您的URL进行匹配。

重写规则的问题是,它只有在末尾找到斜杠时才起作用。要对此进行修改,应将斜杠设置为可选,如:

RewriteEngine on
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]

重写规则的问题在于,只有在最后找到斜杠时,它才会起作用。要对此进行修改,应将斜杠设置为可选,如:

RewriteEngine on
RewriteRule ^([^/.]+)/?$ mytemplet.php?parameter=$1 [QSA,L]

谢谢你的回复。你的解决方案很好,谢谢,但有没有什么方法可以让我自动添加最后一个斜杠,这样我就可以得到最后添加斜杠的url。谢谢回复。你们的解决方案很好,谢谢你们,但有并没有办法让我自动添加最后一个斜杠,这样我就可以得到在末尾添加斜杠的url。