.htaccess文件中的url重写问题

时间:2014-11-28 13:49:38

标签: php mysql .htaccess

这是我的问题

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

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

我以不同的方式做过像bellow

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

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

如果有人帮忙的话,我会非常感激。 谢谢

2 个答案:

答案 0 :(得分: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,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

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

答案 1 :(得分:0)

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

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