Apache: .htaccess: SEO:如何消除查询字符串语法(PHP)


Apache: .htaccess: SEO: how to eliminate query string syntax (PHP)

这篇文章为我的问题提供了很好的帮助。然而,尽管尝试的事情,其中所描述的,我仍然有问题,因为它似乎好像我的。htaccess文件没有被解析。

我有一个网站,由以下页面组成:

http://mywebsite.com/?menu1=home
http://mywebsite.com/?menu1=posts&menu2=johndoe
http://mywebsite.com/?menu1=posts&menu2=janedoe
http://mywebsite.com/?menu1=posts&menu2=nickdoe
http://mywebsite.com/?menu1=fashion&menu2=armani
http://mywebsite.com/?menu1=fashion&menu2=gucci
http://mywebsite.com/?menu1=about

页面通过Windows上我的xampp目录下默认的index.php文件显示。

怎样才能让浏览器响应以下SEO友好链接呢?我想有我的PHP代码工作至少修改尽可能。

http://mywebsite.com/home
http://mywebsite.com/posts/johndoe
http://mywebsite.com/posts/janedoe
http://mywebsite.com/posts/nickdoe
http://mywebsite.com/fashion/armani
http://mywebsite.com/fashion/gucci
http://mywebsite.com/about

谢谢。

您可以在Root/.htaccess

中使用这些规则
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/?$ /?menu1=$1&menu2=$2 [QSA,NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /?menu1=$1 [QSA,NC,L]

第一条规则将"/posts/jondoe/"改写为"/?menu=posts&menu=jonde",第二条规则将"/about"改写为"/?home=about".