Php 将目录名添加到SEF url中,并传递id值,而不在url中使用它
我是.htaccess和rewrite函数的新手。 我已经搜索了很多页面,但找不到解决方案。 我的问题是: 我的kurum.php文件中有以下格式的URL:Php 将目录名添加到SEF url中,并传递id值,而不在url中使用它,php,.htaccess,url-rewriting,sef,Php,.htaccess,Url Rewriting,Sef,我是.htaccess和rewrite函数的新手。 我已经搜索了很多页面,但找不到解决方案。 我的问题是: 我的kurum.php文件中有以下格式的URL: fxrehber.com/kurum.php?id=$krmID&sef=$sef 因此,我的正常url是: http://fxrehber.com/kurum.php?id=7&sef=ata-外汇 my.htaccess的相关部分是: <IfModule mod_rewrite.c> Options +Foll
fxrehber.com/kurum.php?id=$krmID&sef=$sef
因此,我的正常url是:
http://fxrehber.com/kurum.php?id=7&sef=ata-外汇
my.htaccess的相关部分是:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>
选项+FollowSymlinks
重新启动发动机
重写规则^([0-9]+)-([a-zA-Z0-9-\]+)$/kurum.php?id=$1&sef=$2
因此,我可以获得以下格式的SEF URL:
http://fxrehber.com/7-ata-foreks
我有两个问题:
一,。在不将kurum.php文件移动到新目录的情况下,是否可以使用.htaccess将此url更改为此格式 http://fxrehber.com/kurumlar/7-ata-foreks (我可以通过.htaccess添加“/kurumlar”目录,但我的css和图像链接无法工作) 二,。我是否可以传递id值而不在SEF url中提及它,如下所示: http://fxrehber.com/kurumlar/ata-foreks(这是我的最佳选择) 如果我不能这样做,我是否只需要使用$sef变量从数据库中选择文章?这有缺点吗 我希望这足以解释我的问题。
谢谢。1。在不将kurum.php文件移动到新目录的情况下,是否可以使用.htaccess将此url更改为此格式
http://fxrehber.com/kurumlar/7-ata-foreks
(我可以通过.htaccess添加“/kurumlar”目录,但我的css和图像链接无法工作)
我在php文件中使用了图像的完整路径,它可用于: .htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^kurumlar\/([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>
选项+FollowSymlinks
重新启动发动机
重写规则^kurumlar\/([0-9]+)-([a-zA-Z0-9-\+)$/kurum.php?id=$1&sef=$2
kurum.php:
<?php
var_dump($_REQUEST);
?>
<img src="/sites/default/files/1.png">
二,。我是否可以传递id值而不在SEF url中提及它,如下所示:
http://fxrehber.com/kurumlar/ata-foreks
(这是我的最佳选择)
仅当
ata-foreks
可以用作文章的唯一别名并代替id使用时
“这有缺点吗?”
对。按字符串搜索比按整数搜索慢。1。在所有链接前面加上“/”之后,向url添加目录名就没有问题了。(顺便说一下,我没有使用$u请求,我不确定是否必须使用)2。我决定不使用ID,只使用alias…(它们不是很长的字符串)谢谢:)>“顺便说一下,我没有使用$\u请求,我不确定是否必须使用”。你不必使用它。我只是把它放到我的文件中,以确保所有变量都被.htaccess正确处理。