我正在将CMSMADESIMPLE用于网站。它可以使用.htaccess文件和mod_rewrite生成搜索引擎友好的URL。
但是可以在基本网址和请求的网页之间插入任何内容。例如,所有这些URL都可以使用:
www.example.com/aboutus
www.example.com/home/aboutus
www.example.com/any/rubbish/i/enter/aboutus
我见过其他使用Wordpress的网站,可以在地址窗口中输入相同内容,但它会重定向回最低级别,即www.example.com/aboutus。我想实现同样的目标,但不能掌握.htaccess来做到这一点。
.htaccess文件的相关位是:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
我假设这是可以使用mod_rewrite实现的,并且不需要更改CMS中的PHP代码。
如果无法做到这一点,我想从CMS中已被Google编入索引的某些网址设置永久重定向。
即从 www.example.com/home/aboutus 到 www.example.com/aboutus
我尝试将RewriteRule添加到.htaccess但没有成功:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule home/aboutus aboutus [R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
任何帮助表示感谢。
答案 0 :(得分:0)
查看doc文件夹中的示例htaccess.txt文件。有一个关于父母的部分。
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]