.htaccess mod“重写添加”/&引用;到url的末尾
这是我的.htaccess代码:.htaccess mod“重写添加”/&引用;到url的末尾,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,这是我的.htaccess代码: RewriteBase /kajak/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^moduli/([^/]+)/(.*)$ moduli/$1/index.php/$2 [L] 现在,/被附加到每个URL。例如,http://127.0.0.1/moduli/novice变为http://127.0.0.1/moduli/novice
RewriteBase /kajak/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^moduli/([^/]+)/(.*)$ moduli/$1/index.php/$2 [L]
现在,/
被附加到每个URL。例如,http://127.0.0.1/moduli/novice
变为http://127.0.0.1/moduli/novice/
我怎样才能避免在最后得到
/
?虽然我不知道你的问题的答案,但我会注意到你的问题和你的代码有两个奇怪之处,它们可能与手头的问题有关
RewriteBase /moduli/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ $1/index.php/$2 [L]
http://www.website.com/moduli/novice/view
http://www.website.com/moduli/novice/index.php/view
这将重写URL,如下所示:
RewriteBase /moduli/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ $1/index.php/$2 [L]
http://www.website.com/moduli/novice/view
http://www.website.com/moduli/novice/index.php/view
根据您的代码块,这似乎是您正在尝试做的事情。如果不是,那么我很抱歉。我认为这与您的重写规则无关(它不匹配) 添加/是因为当您请求
http://example.com/xx/zz
并且web服务器检测到zz
是一个目录,它将其转换为http://example.com/xx/zz/
通过301重定向(浏览器发出另一个请求-检查apache日志)
阅读有关尾部斜杠重定向的内容
您必须自己确认,当请求的url为http://127.0.0.1/moduli/novice/
(是否希望重定向捕获它?由于RewriteCond%{REQUEST\u FILENAME}!-d,当前未捕获它)
顺便说一句,我不太明白你的RewriteBase/kajak/
行-你确定它是正确的吗?谢谢你的回答。您的代码更好,工作也很好,但也有同样的问题。仍然在url末尾添加“/”广告。不客气。如果我的答案是你问题的答案,请标记是这样。这是正确的,因为文件夹是kajak。但我改变了cbroughton建议的代码。是的,我希望通过重定向缓存。请以更深思熟虑的方式解释您想做什么(也许可以扩展您的RewriteBase是/kajak/而/kajak/在示例URL中不存在的方式),或者选择下面的答案作为您问题的答案。