目标是输入一个像
https://www.mywebsite/expert/188/name-of-the-expert
并以表格形式返回给服务器
expert.php?exp=188
就像用户输入https://www.mywebsite/expert.php?exp=188
什么不起作用:
像 RewriteRule 这样的简单规则^expert-([0-9]*)$ expert.php?exp=$1 [L,NC,QSA]
什么工作 我有以下 rewrite_rule 仅当我在树中物理创建文件夹专家/时才有效,即 /www/expert/
# FRIENDLY URL FOR EXPERTS PROFILE
Rewriterule ^(.*)expert\/([0-9]*)(\/[a-z0-9\-\']*)?\/?$ expert.php?exp=$2 [L,NC,QSA]
此外,为了使这条规则起作用,我必须将 放在<base href="/">
页面expert.php 中以避免所有链接资源出现错误:
加载资源失败:服务器响应状态为 404 ()
服务器是名为 OVH 的共享 Web 托管平台上的 APACHE。
问题的完整代码:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
# FRIENDLY URL FOR EXPERTS PROFILE
Rewriterule ^(.*)expert\/([0-9]*)(\/[a-z0-9\-\']*)?\/?$ expert.php?exp=$2 [L,NC,QSA]
</IfModule>