【问题标题】:htaccess rewriterule - dynamic url issuehtaccess rewriterule - 动态网址问题
【发布时间】:2014-06-22 15:00:37
【问题描述】:

我遇到了在 htaccess 中重写 url 的问题。

我的动态网址: http://www.mydomain.com/index.php?action=viewArticle&articleId=16

我希望它:

http://www.mydomain.com/viewArticle/16.html

htaccess:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
  RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]]
  RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?action=$1&articleId=$2 [L]

</IfModule>

只有“www”重定向规则有效。

谢谢你:) !!!!

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    www 规则之后插入这些规则:

    RewriteCond %{THE_REQUEST} \s/+index\.php\?action=([^\s&]+)&articleId=([^\s&]+) [NC]
    RewriteRule ^ /viewArticle/%1/%2? [R=302,L]
    
    RewriteRule ^viewArticle/([^/.]+)/([^/.]+)/?$ index.php?action=$1&articleId=$2 [L,QSA,NC]
    

    【讨论】:

    • 哇,谢谢!作品。只有一个问题,我所有的 css,js 都没有加载,因为它试图找到这样的 css 文件源:mydomain.com/viewArticle/viewArticle/css/mydomain.css
    • 对于 css/js 加载,只需在 css、js、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以 http:// 或斜杠 / 开头。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2012-08-23
    • 2019-02-09
    • 2021-09-11
    • 2014-07-04
    相关资源
    最近更新 更多