我正在努力使网站更适合我的网站用于搜索引擎优化目的。
目前页面显示如下:
SITE/[number]-[page name].html
我想让页面以下面的格式显示。
example 1.
SITE/[page name].html
或
example 2.
SITE/[page name]-[number].html
(如果可能的话,我希望保留页码,例如1,但是如果必须包含它,我希望它在网址的末尾,就像上面的第二个例子一样。)
我在.htaccess文件中有以下规则。
RewriteRule ^([0-9]+)-(.*)$ site_page.php?page=$1
我最大的问题是我已经尝试了很多方法来重写以完成我需要的工作。 在重写方面,我是一个完整的新手。
我已经将重写改为以下内容而没有任何快乐。
RewriteRule ^(.*)-([0-9]+)$ site_page.php?page=$1
RewriteRule ^(.*)-([0-9])$ site_page.php?page=$1
RewriteRule ^(.*+)-([0-9]+)$ site_page.php?page=$1
RewriteRule ^([.*]+)-([0-9]+)$ site_page.php?page=$1
上面我尝试过的是保留页面ID号,我最好完全放弃这些数字。
我在setting.php文件中有以下行,用于控制网站如何创建相关链接。并按照我的意愿显示它们。但我收到404错误,因为我认为重写规则没有显示我期望它显示的内容。
// non seo url
$setup_url['normal']['resource'] = "$url_base/site_page.php?page=[number]";
// seo url
$setup_url['seo']['resource'] = "$url_base/[number]-[name].html";
我看过很多关于mod重写规则的文章,似乎没有在哪里。任何帮助将不胜感激。
非常感谢。 标记
答案 0 :(得分:1)
似乎您忘记了规则中的.html
扩展名。
RewriteRule ^(.+)-(\d+)\.html$ site_page.php?$1=$2 [L]