我在codeigniter中有网站。我是新手来定义.htaccess中的规则我希望如果客户端在URL末尾键入任何字母数字字符,那么这些字符应该被删除。
例如:在http://studio.com/gallery/babies/12abc
应删除12abc。
有没有办法在.htaccess中设置规则来删除任何尾随的字母数字字符?
我正在搜索相同的重写规则,但没有找到任何。请建议。
答案 0 :(得分:1)
如果只是字母数字,你想删除......
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(([^/]+/)*)([a-z0-9]+)$ $1 [NC,R=301,L]
如果URL未指向实际存在的文件(或目录),则! -f
和! -d
这两个条件可确保重写仅 - 这会阻止您实际上希望从特定的,现有的文件/目录中重写的URL,或者您陷入可怕的递归循环,导致Apache抛出服务器错误。
此.htaccess文件需要位于您的网络服务器的根目录下,如果它位于子目录中,您需要添加相关的RewriteBase
。
旗帜:
NC =无大小写(使匹配大小写不敏感)
R = 301 =使此重定向成为实际的HTTP 301重定向,以便您更改URI(从而删除不需要的跟踪字母数字)
L =最后,我们完成了重定向处理而没有检查其余的RewriteRules