我正在编写我的第一个.htaccess文件,虽然我已经学到了很多东西,但我有一件事我正在努力。
我有一个CMS,它根据一个名为“filename”的变量生成页面,该变量通过我的URL传递,例如... index.php?filename = about.htm
所以我只有一个真正的文件... index.php
我希望“index.php?filename”不会出现,所以所有网址看起来都像www.example.com/about.htm一样正常,即使“文件名”查询字符串仍在传递中。
我希望我有道理,这是可能的......谢谢你们!
答案 0 :(得分:1)
想要将/$var
重写为/index.php?filename=$var
吗?尝试将其粘贴到.htaccess
文件中:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index\.php$
RewriteCond %{QUERY_STRING} filename=([a-z0-9-_])
RewriteRule ^(.*) /index.php?filename=%1
答案 1 :(得分:0)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?filename=$1 [L,QSA]