htaccess& mod_rewrite:显示带有文件夹的动态php页面

时间:2013-06-15 23:23:17

标签: .htaccess url mod-rewrite url-rewriting

我想要这样的地址: 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”

2 个答案:

答案 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

现在我已经测试了它,它应该正常工作。