【问题标题】:rewrite my url, remove query string and make new pretty url重写我的网址,删除查询字符串并制作新的漂亮网址
【发布时间】:2017-01-16 04:35:26
【问题描述】:

我想将我的网址从 http://website.com/preview.php?id=puzzled 重写为 http://website.com/cv/puzzledhttp://website.com/resume.php?id=puzzledhttp://website.com/puzzled ...但似乎我没能得到这个结果。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([0-9a-zA-Z-]+) /resume.php?id=$1 [QSA,L]
RewriteRule ^cv/([0-9a-zA-Z-]+) /preview.php?id=$1 [QSA,L]

【问题讨论】:

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


    【解决方案1】:

    这样试试吧,

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^cv/([\w-]+)$ preview.php?id=$1
    RewriteRule ^([\w-]+)$ resume.php?id=$1
    RewriteRule ^([\w-]+).php$ $1 [L]
    

    来自 Apache mod_rewrite 文档

    变量 SCRIPT_FILENAME 和 REQUEST_FILENAME 包含相同的 value - 内部 request_rec 的文件名字段的值 Apache HTTP 服务器的结构。名字是常用的 已知的 CGI 变量名,而第二个是适当的 REQUEST_URI 的对应项(包含 uri 字段的值 request_rec)。

    如果发生替换并且继续重写,则 两个变量都会相应更新。

    如果在每个服务器上下文中使用(即,在请求被映射到之前 文件系统)SCRIPT_FILENAME 和 REQUEST_FILENAME 不能包含 完整的本地文件系统路径,因为在此阶段路径未知 的处理。这两个变量最初都将包含 REQUEST_URI 在这种情况下。为了获得完整的本地文件系统 每个服务器上下文中的请求路径,使用基于 URL 的前瞻 %{LA-U:REQUEST_FILENAME} 确定最终值 REQUEST_FILENAME。

    【讨论】:

    • 嗨,我的登录网址不起作用website.com/login.php这里的504
    • 你是如何设置登录网址website.com/login.phpwebsite.com/login
    • 我没有为 login.php 添加任何内容
    • 复制粘贴你的
    【解决方案2】:

    您可以使用这些规则:

    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    
    RewriteRule ^([\w-]+)/?$ resume.php?id=$1 [QSA,L]
    
    RewriteRule ^cv/([\w-]+)/?$ preview.php?id=$1 [NC,QSA,L]
    

    【讨论】:

    • 尝试第一条规则为RewriteRule ^([\w-]+)/?$ /resume.php?id=$1 [QSA,L]
    • resume.php.htaccess 一样存在于站点根目录中吗?
    • 是的。它在站点根目录上
    • 是的..它存在那里。我可以使用 url/resume.php?id=myuser 访问
    • 您尝试过:RewriteRule ^([\w-]+)/?$ /resume.php?id=$1 [QSA,L] 规则吗?
    猜你喜欢
    • 2016-11-22
    • 1970-01-01
    • 2012-08-29
    • 2015-12-05
    • 2016-01-05
    • 1970-01-01
    • 2019-08-09
    • 2014-04-22
    • 2012-03-07
    相关资源
    最近更新 更多