【问题标题】:url re write issue in .htaccess file.htaccess 文件中的 url 重写问题
【发布时间】:2014-11-28 13:49:37
【问题描述】:

这是我的问题

在我的网站基础网址中,我正在重定向到内部文件夹

eg: http://example.com/ 

     to 

http://onlinevyapari.com/business/ by using this code in .htaccess file 
RewriteRule ^(/)?$ /business/index.php [L]

现在我想对同一个网站使用搜索引擎友好的网址,我的查询是这样的 http://example.com/business-details.php?id=106

但我想保留这样的网址
http://example.com/business-details/106

我已经以不同的方式完成了,如下所示

RewriteEngine on
RewriteRule business-details/id/(.*)/ business-details.php?id=$1
RewriteRule business-details/id/(.*) business-details.php?id=$1

它发生了,但是 css 没有正确加载

如果有人提供帮助,我将非常感激。 谢谢

【问题讨论】:

    标签: php mysql .htaccess


    【解决方案1】:

    你的规则是这样的:

    RewriteEngine on
    
    RewriteRule ^(/)?$ business/index.php [L]
    
    RewriteRule ^business-details/(\d+)/?$ business-details.php?id=$1 [L,QSA,NC]
    

    要解决 css/js/image 路径问题,只需在 css、js、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以 http:// 或斜杠 / 开头。

    或者您可以尝试将其添加到页面的 HTML 标头中:<base href="/" />,以便从该 URL 而不是当前 URL 解析每个相对 URL。

    【讨论】:

    • 感谢您的宝贵帮助。它的工作和页面正在加载但css没有加载:(
    【解决方案2】:

    您需要在规则之前添加以下内容,以使重写规则忽略文件和目录名称。

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    

    【讨论】:

    • 感谢您的帮助,但它无法正常工作,它会抛出 PDO 错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多