我想在我的网站上重写网页的网址。它基本上非常简单。我的原始网址如下所示
http://www.mypage.com/website/page.php?slug=my-page
我希望它看起来像这样:http://wwww.mypage.com/website/my-page/
这很有效。如果删除尾部斜杠,那么会有什么作用。这是我的htaccess:
RewriteEngine on
RewriteRule ^(.*)/$ page.php?slug=$1 [L]
好像我删除了斜杠,$ _GET ['slug']只变成了page.php但是带有斜杠,变量显示为“my-page”。
是否可以使链接在没有和使用尾部斜线的情况下工作?
编辑: 如果我在子文件夹中有.htaccess和php文件,这有关系吗?所以我的真实网址是这样的:http://www.mypage.com/website/page.php?slug=something
我现在已经根据它的实际情况编辑了帖子。
答案 0 :(得分:1)
RewriteEngine on
RewriteRule ^(.*)/?$ page.php?slug=$1 [L]
问号使尾部斜线可选。我还建议只有一种URL。就像没有尾随salsh的重定向网址一样,带有。
的网址答案 1 :(得分:1)
我只能考虑在RewriteRule ^(.*)/$ page.php?slug=$1 [L]
RewriteRule ^(.*)$ page.php?slug=$1 [L]
基本上,在原始代码中,您声明了一个尾部斜杠,因此它需要一个尾部斜杠
答案 2 :(得分:1)
尝试添加此内容:
RewriteRule ^website/([a-z0-9]+)/?$ website/page.php?slug=$1 [NC,L,QSA]
根据您要接受的网址类型,根据需要修改正则表达式。
查看htaccess如何处理查询字符串等内容: