【问题标题】:.htaccess and changing php queries to a clean URL.htaccess 并将 php 查询更改为干净的 URL
【发布时间】:2014-09-19 22:32:01
【问题描述】:

我正在尝试更改我的客户网站的 URL 结构,我之前从未使用过 htaccess 文件,如果这是一个愚蠢的问题,请原谅我。我已经花时间查看堆栈溢出、谷歌和 youtube,但对于我的生活,我无法理解这一点。

URL 当前结构: jobtitle 是变量,Administration-Jobs 是值

http://localhost/website/job_title.php?jobtitle=Administration-Jobs    

客户端请求的 URL 结构

http://localhost/website/Administration-Jobs

我尝试过的 htaccess 文件:

RewriteEngine On
RewriteRule ^jobs_by_title.php/([0-9a-zA-Z_-]) job_title.php?jobtitle=$1    

一旦我有这个 ht 访问文件工作,应该在 php 脚本中需要什么才能转到干净版本而不是脏版本?还是在 htaccess 中自动完成?

编辑:

我现在可以使用它了

^([A-Za-z0-9_-]+)?$ job_title.php?jobtitle=$1 [L]    

【问题讨论】:

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


    【解决方案1】:

    您用于捕获 URI 的正则表达式是错误的。

    将此代码放入/website/.htaccess:

    RewriteEngine On
    RewriteBase /website/
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)/?$ job_title.php?jobtitle=$1 [L,QSA]
    

    【讨论】:

      【解决方案2】:

      试试这个:

      RewriteEngine On
      RewriteRule ^(\w-]+)/?$ job_title.php?jobtitle=$1
      

      【讨论】:

        【解决方案3】:

        我终于可以使用它了

        RewriteRule ^([A-Za-z0-9_-]+)?$ job_title.php?jobtitle=$1 [L]   
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-06
          • 1970-01-01
          • 2012-08-26
          相关资源
          最近更新 更多