【发布时间】:2017-11-12 08:20:21
【问题描述】:
目的是输入像
这样的urlhttps://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 仅当我 以物理方式 在我的树中创建文件夹 Expert/ 时才有效,即 /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 的共享网络托管平台上的 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>
【问题讨论】:
标签: php apache .htaccess mod-rewrite ovh