我需要将网址重定向为
www.domain.com/?page=news - > www.domain.com/news
这是我的htaccess文件:
Options -Multiviews
RewriteEngine On
RewriteBase /
# Force search engines to use www.domain.com
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteRule ^(.*) http://www.domain.com/$1 [R=301,L]
# Specify search friendly URLs
RewriteRule ^http://www\.domain\.com/news/$ /http://www.domain.com/?page=news [L]
请建议我在.htaccess文件中使用的确切规则。
提前致谢。
答案 0 :(得分:1)
抱歉,我对此不了解,但我看到了一个由我在Facebook上关注的人发布的好教程: http://www.9lessons.info/2013/11/htaccess-file-tutorial-and-tips.html
希望这有帮助。
答案 1 :(得分:1)
您的第二条规则不正确,因为您无法在RewriteRule
模式中匹配域名。该模式仅匹配没有域名和查询字符串的REQUEST_URI。
你的第二条规则应该是这样的:
RewriteCond %{THE_REQUEST} \s/+\?page=([^&\s]+) [NC]
RewriteRule ^ /%1? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# Specify search friendly URLs
RewriteCond %{QUERY_STRING} !(^|&)page=[^&]+
RewriteRule ^([^/]+)/?$ /?page=$1 [L,NC,QSA]