【发布时间】:2012-03-29 03:55:01
【问题描述】:
我一直很难让它真正发挥作用。所以我正在使用一个 CMS,它通过自己的管理工具利用“漂亮的 url”,所以生成的 .htaccess 文件已经预先提供了重写条件。现在这有效,但它仅适用于作为 index.php 扩展的 CMS 生成的页面。因此,例如 index.php?id=maps 很好地显示为 www.siteurl.com/maps/ 而不是 www.siteurl.com/index.php?id=maps。
现在我的问题是我有大约 1900 多个从查询字符串生成的产品页面。
例如,我的页面网址如下所示:
https://www.siteurl.com/item.php?id=0012345&pg=author-title
理想情况下,我希望网址是:
https://www.siteurl.com/0012345/author-title.html
我尝试了许多 mod_rewrite 生成器来为我提供正确的语法,但到目前为止没有任何效果。
目前在我的.htaccess 文件中是预先存在的语言:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
我把它改成这样:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA]
RewriteRule ^([^/]*)/([^/]*)\.html$ /item.php?id=$1&pg=$2 [QSA,L]
但它不起作用。我刚得到一个404 页面。请告诉我哪里错了。谢谢。
【问题讨论】:
标签: php html .htaccess mod-rewrite seo