【问题标题】:.htaccess conflict with css.htaccess 与 css 冲突
【发布时间】:2021-07-02 23:52:36
【问题描述】:

我有 1 页

https://domainsanalytics.com/country.php

我正在传递类似的值

https://domainsanalytics.com/country.php?id=219

 我想制作对 SEO 友好的网址,例如

https://domainsanalytics.com/country/219

我试图通过这个来完成

RewriteRule ^(country)/(\d+)/?$ $1.php?id=$2 [L]

但这给了我页面上的错误,例如:https://domainsanalytics.com/country/219

如果我在上面的代码之前添加,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

适合

https://domainsanalytics.com/country

但 404 开启

https://domainsanalytics.com/country/219

我需要帮助以确保两者都能正常工作

    https://domainsanalytics.com/country/219
    and
    https://domainsanalytics.com/country

PS:打开网站时htaccess只有

RewriteRule ^(country)/(\d+)/?$ $1.php?id=$2 [L]
RewriteRule ^(tld)/(\d+)/?$ $1.php?id=$2 [L]
RewriteRule ^(registrar)/(\d+)/?$ $1.php?id=$2 [L]

和截图

编辑

RewriteEngine ON
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(country)/(\d+)/?$ $1.php?id=$2 [L]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(tld)/(\d+)/?$ $1.php?id=$2 [L]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(registrar)/(\d+)/?$ $1.php?id=$2 [L]

那工作...

【问题讨论】:

    标签: css apache .htaccess mod-rewrite friendly-url


    【解决方案1】:

    对于您显示的示例,您能否尝试以下操作。请确保在测试您的 URL 之前清除您的浏览器缓存。

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^(tld|registrar|country)/(\d+)/?$ $1.php?id=$2 [QSA,NC,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^([^/]*)/([^/]*)/?$ $1.php?id=$2 [QSA,NC,L]
    

    JS/CS 重写/重定向: 您可能需要使用 base 标签来修复您的 js 和其他相关资源。如果您使用相对路径链接 js 文件,那么该文件显然会得到 404,因为它正在寻找 URL 路径。例如,如果 URL 路径是 /file/ 而不是 file.html,那么您的相关资源将从 /file/ 加载,这不是目录而是重写的 html 文件。要解决此问题,请使您的链接成为绝对链接或使用基本标签。在您的网页标题中添加此<base href="/">,以便您的相关链接可以从正确的位置加载。

    【讨论】:

    • 它显示了同样的错误...我只添加了您的代码.. 没有其他任何内容。它仍然显示相同的错误...
    • @Amit,你点击的网址是什么,这里有一个示例网址会有所帮助,谢谢。
    • @Amit,请尝试我编辑的规则文件一次并清除您的浏览器缓存,然后再尝试一次 url。让我知道情况如何。
    • @RavinderSingh13 我认为 OP 的问题已经解决了。问题是,一旦他们的查询得到解决,一些用户不想回来留下反馈。无论如何已经 ++ Ravinder 为您提供深入的答案。这对以后遇到类似问题的读者很有帮助。
    • @AmitVerma,谢谢阿米特先生 :) 让我们希望 OP 的问题得到解决 :) 是的,OP 应该回来寻求他们的反馈,我同意这一点。
    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 2014-11-15
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多