使用.htaccess更改url中的目录show

时间:2017-03-28 17:54:17

标签: php apache .htaccess mod-rewrite

我正在尝试更改地址栏中显示的网址。 .htaccess中的代码:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^Home?$  index.php [NC,L]
RewriteRule    ^about-us?$  aboutus.php [NC,L] 
RewriteRule    ^contact?$  contact.php [NC,L]
RewriteRule    ^products?$  products.php [NC,L]

RewriteRule    ^products/led-bulb?$  led-bulb.php [NC,L]

说明:同一目录中的所有页面和4个第一次重写规则都没问题,但最后一次重写规则有问题。(产品/ led-bulb目录不存在)。 问题:加载[led-bulb.php]时的最后一条规则它没有加载任何样式并显示没有任何样式和设计的页面。

1 个答案:

答案 0 :(得分:0)

您的上一条规则也正常运行,但由于您使用相对路径,您将面临样式/图像显示问题。

您可以在页面HTML的<head>部分下方添加:

<base href="/" />

以便从该基本网址解析每个相对网址,而不是从当前网页的网址解析。

此外,您的规则应该是使用这样的尾随斜杠:

RewriteEngine On

RewriteRule ^Home/?$ index.php [NC,L]
RewriteRule ^about-us/?$ aboutus.php [NC,L] 
RewriteRule ^contact/?$ contact.php [NC,L]
RewriteRule ^products/?$ products.php [NC,L]

RewriteRule ^products/led-bulb/?$  led-bulb.php [NC,L]