使用.htaccess无法使用URL重写

时间:2016-10-27 10:31:32

标签: php apache .htaccess mod-rewrite url-rewriting

我正在尝试重写以下网址

http://dramatainment.com/dramas.php?id=000020&channel=HUM%20TV

我的目标是实现此网址

http://dramatainment.com/dramas/id/000020/channel/HUM-TV/

这是我在.htaccess文件中使用的代码,它与index.php和dramas.php放在同一个文件夹中

Options +FollowSymLinks
RewriteEngine on
RewriteRule dramas/(.*)/(.*)/ dramas.php?id=$1&channel=$2
RewriteRule dramas/(.*)/(.*) dramas.php?id=$1&channel=$2

我从教程中获得了这个代码,它在该教程中对他们很有用。它适用于本地主机,而非在线。可能是什么问题呢?为什么它不能在实时网站上运行?

2 个答案:

答案 0 :(得分:3)

我建议的<base href="">标记用于正确链接css文件。

对于你的网址,请尝试这样做。

Options +FollowSymLinks -MultiViews
RewriteEngine on

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

RewriteRule ^([\w-]+)/id/([\d]+)/channel/([\w-]+)$ $1.php?id=$2&channel=$3 [QSA,NC,L]

答案 1 :(得分:0)

尝试使用

RewriteEngine On RewriteRule ^dramas/id/([^/]*)/channel/([^/]*)$ /dramas.php?id=$1&channel=$2 [L]