【问题标题】:htaccess & mod_rewrite: display dynamic php page with a folderhtaccess & mod_rewrite:显示带有文件夹的动态 php 页面
【发布时间】:2013-06-15 23:23:16
【问题描述】:

我想要这样的地址: http://www.domain.com/some_page123/ 显示此页面的内容: http://www.domain.com/script.php?var=some_page123

但我希望浏览器中显示的 URL 是 www.domain.com/some_page123/

即使文件夹“some_page123”实际上不存在,是否可以使用 htaccess 执行此操作?

另外,我想从这次重写中排除名为“infos”的文件夹。因此,如果用户访问 URL www.domain.com/infos/ 那么它将显示“infos”文件夹的内容。我不想对文件夹“infos”使用 script.php 重写

【问题讨论】:

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


    【解决方案1】:

    通过httpd.conf启用mod_rewrite和.htaccess,然后把这段代码放到你.htaccessDOCUMENT_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]
    

    【讨论】:

      【解决方案2】:

      在根目录中添加 .htacces:

      RewriteRule ^script.php - [L,NC]
      RewriteRule ^infos/$ - [L,NC]
      RewriteRule ^(.*)$ /script.php?var=$1
      

      现在我已经测试过了,它应该可以工作了。

      【讨论】:

        猜你喜欢
        • 2017-12-22
        • 1970-01-01
        • 1970-01-01
        • 2018-07-16
        • 2013-07-05
        • 2010-09-20
        • 2018-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多