重写规则以解决 2 个用例

问题描述 投票:0回答:1

我的 .htaccess 文件中有一个重写规则:

RewriteRule ^projects/?([a-zA-Z0-9-]+)?/?([a-zA-Z0-9-]+)?$ /projects/$1/seo.$2.php  

例如,以下规则运行良好,我想保持原样:

URL: domain.com/projects/book/read-more opens /projects/book/seo.read-more.php page

此外,我需要修改它或添加另一个规则以仅显示目录并在index.php文件中解析如果地址以目录结尾。

URL: domain.com/projects/book to open /projects/book/index.php page

我尝试将以下规则放在当前规则之上,但没有成功。

RewriteRule ^projects/?([a-zA-Z0-9-]+)?$ /projects/$1/index.php [NC,L]

我错过了什么?

.htaccess
1个回答
0
投票

你能试试这些吗:

# Match the directory and point to index.php
RewriteRule ^projects/([a-zA-Z0-9-]+)/?$ /projects/$1/index.php [NC,L]

# Match to handle additional segments
RewriteRule ^projects/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /projects/$1/seo.$2.php [NC,L]

我在 htaccess.madewithlove.com 上测试了它们,并得到了您期望的结果

© www.soinside.com 2019 - 2024. All rights reserved.