首页 > 解决方案 > .htaccess RewriteRule 文件在另一个文件夹中

问题描述

我有一个由两部分组成的站点,第一部分在主页上,我有一个 .htaccess 文件,我使用这些 htaccess 命令重写他们的文件

RewriteRule ^sitemap-([0-9]+).xml$ sitemap-xml.php?page=$1

该站点的另一部分位于名为 bio 的文件夹中,我使用这些 htaccess 命令重写他们的文件

RewriteRule ^/bio/([0-9]+)/(.*)$ /bio/show_person.php?id=$1&url=$2  [QSA,L]

但是 bio RewriteRule 不起作用,我该如何解决它

这是我完整的 htaccess

RewriteEngine On
RewriteBase /bio/


RewriteRule ^([0-9]+)/(.*)$ show_person.php?id=$1&url=$2  [QSA,L]

RewriteRule ^job-([0-9]+)/$ show_job.php?id=$1  [QSA,L]

RewriteRule ^nationality-([0-9]+)/$ show_nationality.php?id=$1  [QSA,L]

RewriteRule ^borg-([0-9]+)/$ show_borg.php?borg=$1  [QSA,L]

RewriteRule ^birth-([0-9]+)-([0-9]+)/$ show_birthday.php?day=$1&month=$2  [QSA,L]
RewriteRule ^birthyear-([0-9]+)/$ show_birthyear.php?year=$1  [QSA,L]

RewriteRule ^death-([0-9]+)-([0-9]+)/$ show_deathday.php?day=$1&month=$2  [QSA,L]
RewriteRule ^deathyear-([0-9]+)/$ show_deathyear.php?year=$1  [QSA,L]

RewriteRule ^job-([0-9]+)/page/([0-9]+)$ show_job.php?id=$1&page=$2  [QSA,L]

RewriteRule ^nationality-([0-9]+)/page/([0-9]+)$ show_nationality.php?id=$1&page=$2  [QSA,L]

RewriteRule ^borg-([0-9]+)/page/([0-9]+)$ show_borg.php?borg=$1&page=$2  [QSA,L]

RewriteRule ^birth-([0-9]+)-([0-9]+)/page/([0-9]+)$ show_birthday.php?day=$1&month=$2&page=$3  [QSA,L]
RewriteRule ^birthyear-([0-9]+)/page/([0-9]+)$ show_birthyear.php?year=$1&page=$2  [QSA,L]

RewriteRule ^death-([0-9]+)-([0-9]+)/page/([0-9]+)$ show_deathday.php?day=$1&month=$2&page=$3  [QSA,L]
RewriteRule ^deathyear-([0-9]+)/page/([0-9]+)$ show_deathyear.php?year=$1&page=$2  [QSA,L]

RewriteRule ^page/([0-9]+)$ index.php?page=$1 [QSA,L]

RewriteRule ^sitemap-([0-9]+).xml$ sitemap.php?page=$1

标签: .htaccess

解决方案


将此规则放在bio/.htaccess

RewriteEngine On
RewriteBase /bio/

RewriteRule ^(\d+)/(.*)$ show_person.php?id=$1&url=$2 [QSA,L]

推荐阅读