.htaccess htaccess文件无法识别和/或处理重写规则
我正在创建一个CMS,其中有三种类型的呈现页面: 1- 2- 3- 最初我只有前两个,下面的.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]
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以来,我一直对包含文件中的变量(假设其值)有问题。。。我想知道你是否可以看看我的相关问题: