重写一个 url 模式来调出同一个文件 (.htaccess)?
Rewrite a url pattern to call out the same file (.htaccess)?
我有几十个不同的页面。
每个页面都包含两个类似模式的链接 -
示例:
fruits.php
包含链接:
/foo/fruits/abc
/foo/fruits/xyz
magnets.php
包含链接:
/foo/magnets/abc
/foo/magnets/xyz
目前我正在使用不同的 .php
文件来处理每个链接,所以我的 .htaccess
看起来像:
RewriteRule ^foo/fruits/abc/?$ /web/fruits1.php [L]
RewriteRule ^foo/fruits/xyz/?$ /web/fruits2.php [L]
RewriteRule ^foo/magnets/abc/?$ /web/magnets1.php [L]
RewriteRule ^foo/magnets/xyz/?$ /web/magnets2.php [L]
相反,我希望我的 .hatccess
调用同一个 process.php
文件来处理来自上述两种模式的所有这些链接,它们是:
/foo/(variable)/abc/
& /foo/(variable)/xyz/
您可以使用正则表达式匹配来允许您的 URI 中的动态值,并且只有 一个规则 满足您的要求:
RewriteRule ^foo/\w+/\w+/?$ /web/process.php [L,NC]
我有几十个不同的页面。 每个页面都包含两个类似模式的链接 -
示例:
fruits.php
包含链接:
/foo/fruits/abc
/foo/fruits/xyz
magnets.php
包含链接:
/foo/magnets/abc
/foo/magnets/xyz
目前我正在使用不同的 .php
文件来处理每个链接,所以我的 .htaccess
看起来像:
RewriteRule ^foo/fruits/abc/?$ /web/fruits1.php [L]
RewriteRule ^foo/fruits/xyz/?$ /web/fruits2.php [L]
RewriteRule ^foo/magnets/abc/?$ /web/magnets1.php [L]
RewriteRule ^foo/magnets/xyz/?$ /web/magnets2.php [L]
相反,我希望我的 .hatccess
调用同一个 process.php
文件来处理来自上述两种模式的所有这些链接,它们是:
/foo/(variable)/abc/
& /foo/(variable)/xyz/
您可以使用正则表达式匹配来允许您的 URI 中的动态值,并且只有 一个规则 满足您的要求:
RewriteRule ^foo/\w+/\w+/?$ /web/process.php [L,NC]