.htaccess重写器规则在localhost中工作,但不在活动服务器上工作

ep6jt1vc  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(172)

我的.htaccess文件。我有index.php和www.website.com/movies在localhost和live服务器上都能正常工作。但是www.website.com/movies/movie-title在localhost上能正常工作,但在live服务器上就不行了。我不知道问题出在哪里。在movies.php页面中,如果我们使用www.example.com,我会显示标题列表www.website.com/movies,如果我们www.website.com/movies/movie-title尝试使用$_GET ['u']中的值。

打开重写引擎

重写引擎已打开

为index.php重写

重写规则^home$index. php [NC,L]

重写电影页面. php

重写规则^电影$movies. php [NC,L]

为电影重写。php?u=xxxxx

重写规则^电影/([0-9a-zA-Z_-]+)$电影。php?u=$1 [NC,L]

cdmah0mi

cdmah0mi1#

这对我很有效:

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

让我知道它是否适合你!

nqwrtyyt

nqwrtyyt2#

"而不是"

RewriteRule ^movies/([0-9a-zA-Z_-]+)$ movies.php?u=$1 [NC,L]

试试这个

RewriteRule ^movies/([0-9a-zA-Z_-]+)$ /movies.php?u=$1 [NC]

/movies.php会让服务器知道哪个url需要重写。因为live server上的每个页面都是通过'/'(正斜杠)和文件扩展名(在本例中是.php)来标识的。
在该语法中,
L =停止进一步处理规则
NC =处理规则到下一个,不区分大小写

相关问题