在已包含此行的htaccess中:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
重写原文的网址:
http://www.domain.com/index.php?page=this-is-the-title
到
http://www.domain.com/this-is-the-tile
我的问题是,仍然可以访问带有字符串index.php?page =的原始网址,如果可以在我之前或之后添加某些行,或者已经对其中的行进行了一些修改,则需要重定向301它是第二种类型的url,因此每当有人试图访问它时,浏览器会自动加载没有索引和查询字符串的那个。
我试过简单,在qsa线上添加了一个r = 301标志,但是因为500错误而破坏了所有内容。
答案 0 :(得分:1)
是的,你需要这个附加规则:
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]