我想使用.htaccess进行SEO友好URL。
我想在url下方转换
http://localhost/projectname/pagename.php?id=1
to
http://localhost/projectname/pagename/1
我已经尝试了此
的解决方案RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1
但是它不起作用
我还提到了下面的链接,但没有给我正确的解决方案
如何为SEO友好URL撰写HTACCESS重写规则
使用htaccess创建SEO友好URL
.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文件,我可以从URL中删除.php
扩展,但不能生成SEO友好URL。
非常感谢您。
您在规则的末尾有斜线,因此您必须去:
http://localhost/projectname/pagename/1/
或将规则更改为:
RewriteRule ^pagename/([a-zA-Z0-9]+)$ projectname/pagename.php?id=$1