我的最终目标是使用内容的标题作为漂亮的url来将所有url重定向到索引页面,以查询数据库并从那里进行解析。
所需的漂亮URL示例:
https://example.com/this is the title/
或https://example.com/this-is-the-title/
这是我正在使用的.htaccess代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?title=$1 [L,QSA]
RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.s8w.org/$1 [R,L]
查询上面期望的url示例时,上面的代码返回404错误。
但是...
https://example.com/this/
-一个单词正确返回
我真的不确定从这里要去哪里...我假设我需要某种表达方式来允许多个单词,但不知道这是否是问题所在或是否存在.htaccess代码本身缺少的东西。任何帮助表示赞赏。
更新:问题已解决
我找到了答案...这是正确的代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?title=$1 [QSA,L]
RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.s8w.org/$1 [R,L]
此行:
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?title=$1 [L,QSA]
需要为:
RewriteRule ^(.*)$ index.php?title=$1 [QSA,L]
感谢所有浏览过的人