我想要这样的地址: http://www.domain.com/some_page123/ 显示此页面的内容: http://www.domain.com/script.php?var=some_page123
但我希望浏览器中显示的网址为www.domain.com/some_page123 /
即使文件夹“some_page123”确实不存在,是否可以使用htaccess执行此操作?
此外,我想从此重写中排除名为“infos”的文件夹。因此,如果用户访问URL www.domain.com/infos/,则会显示“infos”文件夹的内容。我不想使用script.php重写文件夹“infos”
答案 0 :(得分:1)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (?!^infos/)^(.+?)/?$ /script.php?var=$1 [L,QSA,NC]
答案 1 :(得分:0)
在根目录中添加.htaccess:
RewriteRule ^script.php - [L,NC]
RewriteRule ^infos/$ - [L,NC]
RewriteRule ^(.*)$ /script.php?var=$1
现在我已经测试了它,它应该正常工作。