我成功地使用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