.htaccess htaccess文件无法识别和/或处理重写规则

.htaccess htaccess文件无法识别和/或处理重写规则,.htaccess,.htaccess,我正在创建一个CMS,其中有三种类型的呈现页面: 1- 2- 3- 最初我只有前两个,下面的htaccess工作正常 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?title=$1 [QSA,L] RewriteCond %{HTTP_HOST} test\.org [NC]

我正在创建一个CMS,其中有三种类型的呈现页面:

1-

2-

3-

最初我只有前两个,下面的
htaccess
工作正常

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?title=$1 [QSA,L]

RewriteCond %{HTTP_HOST} test\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.test.org/$1 [R,L]
但是,当我为第三个url类型添加了第三个(类别)并使用重写规则时,htaccess无法识别第三个url类型,但仍能正确查看并呈现前两个url类型:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?title=$1 [QSA,L]

RewriteRule ^category/(.*)$ category.php?title=$1 [QSA,L]

RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.s8w.org/$1 [R,L]
如果我为
RewriteRule^(.*)$index.php?title=$1[QSA,L]
RewriteRule^ category/(.*)$category.php?title=$1[QSA,L]
htaccess只识别第二和第三种url类型

我尝试了以下识别第一个和第二个url类型的代码

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?title=$1 [QSA,L]

RewriteRule ^category/(.*)$ category.php?title=$1 [QSA,L]

RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.s8w.org/$1 [R,L]
但在第三个url类型上引发以下错误:
[处理此指令时出错]

我自学成才,不知道为什么代码不起作用。。。非常感谢您的帮助。

请这样做:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

# http -> https
RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

# skip files and directories from rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^category/(.*)$ category.php?title=$1 [QSA,L,NC]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

RewriteRule ^(.+)$ index.php?title=$1 [QSA,L]

确保从新浏览器中测试它,以避免旧缓存。

代码确实有效。。。它正在识别标题,我可以从数据库中解析,但由于某种原因,css文件不再被称为dcss/js/image,这是URL重写后的一个众所周知的问题。若要修复此问题,您可以将其添加到页面HTML的
标记下方:
。谢谢。。。这就成功了。。。你过去在htaccess方面帮助过我,我希望你会偶然发现这个。。。感谢bunchever,自从我实现htaccess以来,我一直对包含文件中的变量(假设其值)有问题。。。我想知道你是否可以看看我的相关问题: