Mod_rewrite seo友好的url作为参数传递只与前缀url上工作


mod_rewrite seo friendly url passed as parameter only works with prefix on url

我成功地使用mod_rewrite来抓取url并将其作为参数传递,但只有当url具有至少一个字符的前缀时。

.htaccess文件在目录www.site.com/content

例如,重写成功:(site.com/content/-seo-friendly-url)

RewriteEngine on
RewriteRule ^content-(.*)$ ./get_content.php?url=$1

但是这个例子不起作用:(site.com/content/seo-friendly-url)

RewriteEngine on
RewriteRule ^(.*)$ ./get_content.php?url=$1

I get a 500 Internal Server Error

得到404 Not Found

RewriteRule ^([a-zA-Z0-9-])$ ./get_content.php?url=$1

并将'get_content'作为($1)参数传递给get_content.php,没有错误

RewriteRule ^(.*)$ get_content.php?url=$1

目标是将url传递给get_content.php,不带前缀。

例如,

www.site.com/content/seo-friendly-url

应该重写为

www.site.com/content/get_content.php ? url = seo-friendly-url

试试这个。我还没有测试过这段代码,但我很确定它可能对你有帮助。

RewriteEngine

RewriteRule ^内容/get_content.php ' ?url'=seo-friendly-url$/content/seo-friendly-url

如果这不起作用,我建议使用这个网站。它帮助我重写了很多

点击这个链接!

试试这个规则,

RewriteRule ^(['w-]+)$ get_content.php?url=$1