Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)\.html$ fetch.php?id=$1
我在我的htaccess文件中有这个并且它工作正常,但我想知道是否有一种方法可以重写这个而不是只是拉动ID#我可以拉取类别和标题,或者我需要做这样的事情
RewriteRule (.*)/(.*)/(.*)\.html$ fetch.php?id=$1&category=$2&title=$3
此外,如果这是我需要做的,我将如何更改我的标题,没有空格,只有它们之间的破折号?我听说网址不喜欢空格。我已经读过其他地方,他们使用了一个PHP代码,其中空格被转换为“ - ”或“_”以读入页面,但还原为在sql中读取。如果您需要了解我的情况,请告诉我。感谢。
UPDATE!
RewriteRule (.*)/(.*)/(.*)\.html$ fetch.php?id=$1&category=$2&title=$3
这是htaccess规则
<a href="<?php echo $row_getDisplay['id']; ?>/<?php echo $row_getDisplay['category']; ?>/<?php echo urlencode($row_getDisplay['title']); ?>">
这是我的链接..这个方法我得到它与id / category / title没有空格,但没有css或图像显示。我正在拉ID,因为这就是我的fetch.php如何拉动它我不知道如何设置它所以它按类别和标题拉动。
答案 0 :(得分:0)
我建议不要这样做,因为这不是很容易扩展,你可能想尝试以下方法:
在你的htaccess中添加以下内容:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* fetch.php/%{REQUEST_URI} [QSA,L]
这会将您的整个网址放入path_info环境变量中,您可以在后端代码中使用该变量。
RewriteCond部分确保只有在请求的文件实际存在时才会重写URL。
答案 1 :(得分:0)
这个方法我把它用id / category / title拉起来没有空格但没有css或图像显示。我正在拉ID,因为这就是我的fetch.php如何拉动它我不知道如何设置它所以它按类别和标题拉动。
这可能是因为您的所有链接都是相对的,并且基本URI已从/something.html
(即/
)更改为/something/foo/bar.html
(即/something/foo/
)所以所有相关链接现已破裂。尝试将此添加到您网页的标题中:
<base href="/">