htaccess转换请求以清除URL并在URL的末尾添加斜杠

时间:2014-06-10 07:40:50

标签: .htaccess mod-rewrite

好的,我搜索了这个超过4天以及超过20个帖子,即使在这里也没有任何成功

首先是我的htaccess文件

RewriteEngine on


RewriteRule ^([a-zA-Z0-9_]+)/?$ index.php?page=$1 [NC]

RewriteRule ^([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)\/?$ index.php?page=$1&action=$2 [NC]

我尝试了很多代码,但这个代码与我合作,因为我可以调用此请求并与我合作

www.example.com/pagename => www.example.com/index.php?page=pagename

这是我的问题,请向我提供“详细信息”,以便更好地理解代码

1-如何自动将我的请求从www.example.com/index.php?page=pagename转换为www.example.com/pagename

2-如果我试图在结尾处添加斜杠它会向我显示页面但没有任何图像或样式 我的意思是这样的东西www.example.com/pagename =>作品 www.example.com/pagename/ =>不起作用

这就是全部:)

1 个答案:

答案 0 :(得分:0)

对于你的第一部分,你需要这样的301规则:

RewriteCond %{THE_REQUEST} /index\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]

对于第二部分,只需在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。