【发布时间】:2019-05-29 13:25:38
【问题描述】:
我已经在这里待了大约 4 个小时,但我不知道我做错了什么。
这是我的网址: http://localhost/mywebsite/public/jobs.php?seo_url=retail-store-manager-mr-nice-guy
我希望它是这样的: http://localhost/mywebsite/public/jobs/retail-store-manager-mr-nice-guy
这是我的 .htaccess mod_rewrite:
RewriteRule ^([a-zA-Z0-9_-]+)$ jobs.php?seo_url=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ jobs.php?seo_url=$1
非常感谢任何帮助!我已经验证我的 Apache 服务器启用/打开了 mod_rewrite。
【问题讨论】:
-
您的正则表达式似乎在寻找
seo_url=之后的部分,但您使用^将它们锚定到 URL 的开头,因此它们永远不会匹配. -
我不确定我是否关注....
-
您所写的规则仅适用于localhost/retail-store-manager-mr-nice-guy等网址
-
所以我将规则更改为以下内容: RewriteRule /mywebsite/public/([a-zA-Z0-9_-]+)$ jobs.php?seo_url=$1 RewriteRule /mywebsite /public/([a-zA-Z0-9_-]+)/$ jobs.php?seo_url=$1 还没有到达那里
-
为什么没有在 URL 中包含
jobs部分?
标签: apache .htaccess mod-rewrite