我想使用.htaccess制作seo友好的网址。
我想转换下面的网址
http://localhost/projectname/pagename.php?id=1
到
http://localhost/projectname/pagename/1
我已经为此尝试了解决方案
RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1
但它不起作用
我也在下面提到了链接,但没有给我正确的解决方案
How to write htaccess rewrite rule for seo friendly url
Creating SEO friendly urls using htaccess
.htaccess文件
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
使用上面的htaccess文件,我可以从网址中删除.php
扩展名,但不能生成seo友好网址。
提前多多谢谢你。
答案 0 :(得分:0)
你的规则末尾有一个斜线,所以你必须去:
http://localhost/projectname/pagename/1/
或将规则更改为:
RewriteRule ^pagename/([a-zA-Z0-9]+)$ projectname/pagename.php?id=$1