[英].htaccess rewriterule “loop”
目前,我的.htaccess文件中有此行,从而使页面的URL“漂亮”。
RewriteRule ^([A-Za-z0-9-]+)/$ /directory/?type=page&title=$1 [L]
但是,有时我会有子页面( /page/sub-page/sub-page/
),但是此行仅支持一个级别( /page/
)。
如何更改此代码以支持子页面(任意数量),并使title
变量类似:
&title=page/sub-page/sub-page
/是分隔符。
我知道这绝对是一个巨大的帮助:
但是,由于我缺乏对正则表达式和mod-rewrite的了解,因此我不知道如何使其与我已经拥有的东西一起正常工作。
尝试这个:
AllowEncodedSlashes On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([/a-z0-9-]+)/?$ /directory/?type=page&title=$1 [NC,B,L]
不要因为NC
标志而担心AZ
。
在进行了正则表达式研究并进行了一些测试之后,似乎这是我的问题的答案:
RewriteRule ^(([a-zA-Z0-9-]+)/(([a-zA-Z0-9-]+)\/?)+)$ /directory/?type=page&title=$1 [L]
我更改了以前的代码,并允许支持多个子目录。 然后,我将其放入捕获组,并将该数据放入title
变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.