我遇到了一个 CMS 网站的问题,该网站通常会生成可读的 URL。有时导航链接会显示为www.domain.com/22
,而不是 ,这会导致错误www.domain.com/contact
。我尚未找到解决方案,但如果 URL 为 ,页面就可以正常工作www.domain.com/index.php?id=22
。
因此,我尝试重写www.domain.com/22
并www.domain.com/index.php?id=22
使用了以下重写规则:
RewriteRule ^([1-9][0-9]*)$ index.php?id=$1 [NC]
我使用测试了它http://htaccess.madewithlove.be这里显示了正确的结果,但网站上没有发生重写。
开始:重写内容
启用 URL 重写
重写引擎开启
重写规则 ^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic.php|favicon.ico)/ - [L]
重写规则 ^typo3$ typo3/index_re.php [L]
重写条件 %{REQUEST_FILENAME} !-f 重写条件 %{REQUEST_FILENAME} !-d 重写条件 %{REQUEST_FILENAME} !-l
重写规则 .* index.php [L]
选项 +FollowSymLinks
RewriteCond %{HTTP_HOST} ^domain.dk$ [或] RewriteCond %{HTTP_HOST} ^www.domain-alias.com$ RewriteRule (.*)http://www.domain.com/1 美元 [右=301,左]
重写规则 ^([1-9][0-9]*)$ index.php?id=$1 [NC]
结束:重写内容
答案1
你可以试试这个,它在我的网站上有效
RewriteRule ^([0-9]+)$ /index.php?id=$1 [L,QSA]