我正在用.htaccess度过难关.我想为我正在制作的网站创建友好的网址...
基本上我想转换这个:
http://website.com/index.php?ctrl=pelicula&id=0221889
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters
Run Code Online (Sandbox Code Playgroud)
进入:
http://website.com/pelicula/0221889/
http://website.com/pelicula/0221889/posters/
Run Code Online (Sandbox Code Playgroud)
如果我以后需要它,我也想知道如何将文章标题添加到URL的末尾(我正在使用PHP):
http://website.com/pelicula/0221889/the-article-name/
http://website.com/pelicula/0221889/the-article-name/posters/
Run Code Online (Sandbox Code Playgroud)
注意:Stackoverflow方法对我也有好处,例如这个问题的网址是:
http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed
Run Code Online (Sandbox Code Playgroud)
但你可以把任何东西放在id之后,它也会起作用.像这样:
http://stackoverflow.com/questions/3033407/just-anything-i-want
Run Code Online (Sandbox Code Playgroud)
我使用了一些自动Web工具来创建.htacces文件,但它无法正常工作.所以我请求你的帮助.
如果您能推荐.htacces最佳实践和建议,我也将很高兴.
编辑:根据我得到的一些答案,我把这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但我得到默认主机'找不到页'错误.
我也尝试过:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(\d+)/([^/]+)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
RewriteRule ^([^/]+)/(\d+)/?$ index.php?ctrl=$1&id=$2 [QSA,L]
RewriteRule ^([^/]+)/?$ index.php?ctrl=$1 [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这也行不通.它将我带到我的默认404.php页面.
mod_rewrite已启用并正常工作.
救命!
我有这个简单的for循环来回显一个数组:
for ($i = 0; $i < count($director); $i++) {
echo '<a href="person.php?id='.$director[$i]["id"].'">'.$director[$i]["name"].'</a>';
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当数组中有多个元素时,我得到的所有内容都在没有任何空格的情况下回显.我想用逗号分隔每个元素,除了最后一个.
我无法使用,implode所以我正在寻找另一种解决方案
3我正在改变文件输入HTML标签的宽度:
<input type="file" id="newFilename" name="Filename">
input[type="file"] {width:380px !important}
Run Code Online (Sandbox Code Playgroud)
在Firefox 3,Chrome和Safari中,它可以完美运行.
在Firefox 4中我无法使用它.宽度保持不变!
演示:http://jsfiddle.net/LwzW9/1/
用Firebug检查我发现了<input>变化的大小,但我没有看到变化:(见图)

有任何想法吗?这是一个已知的错误?
谢谢.
我正在循环一个二维数组,如下所示:
if (!empty($aka)) {
foreach ($aka as $ak) {
if($ak["lang"]=="es") {
$sptitle=$ak["title"];
}
}
}
Run Code Online (Sandbox Code Playgroud)
很简单.如果数组($ aka)不为空,我循环通过它,当它发现"lang"索引等于"es"时,我只是在$ sptitle中保存该索引的"title"值.
问题是数组($ aka)包含大量信息,有时没有"lang"索引......我得到这个错误:注意:未定义的索引:lang.
我怎样才能解决这个问题???
这是数组的摘录,以帮助您理解.请注意,[1]没有[lang]索引,但[2]确实有:
[1] => Array
(
[title] => "The Lord of the Rings: The Motion Picture"
[year] => ""
[country] => "USA"
[comment] => "promotional title"
)
[2] => Array
(
[title] => "Señor de los anillos: La comunidad del anillo, El"
[year] => ""
[country] => "Argentina"
[comment] => "Chile, Mexico, Peru, Spain"
[lang] => "es"
)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个包含一些信息的数组.例如:
(作家)&
要么
(附加对话)
我想清理这个,所以我只得到括号()之间的文本并清除其他所有内容
结果:
作家
要么
额外的对话
我是PHP/MySQL的新手,也是CodeIgniter的新手.我在许多MySQL表中都有信息.我想用JOIN检索它,其中表主键等于$ variable ...我怎么能这样做并获得没有主键字段的所有字段???
我现在正在做的是这里(这里只有两个表加入):
function getAll($id) {
$this->db->select('*');
$this->db->from('movies');
$this->db->join('posters', 'movies.id= posters.id');
// WHERE id = $id ... goes here somehow...
$q = $this->db->get();
if ($q->num_rows() == 1) {
$row = $q->row();
$data = array(
'id' => $row->id,
'title' => $row->title,
'year' => $row->year,
'runtime' => $row->runtime,
'plotoutline' => $row->plotoutline,
'poster_url' => $row->poster_url
);
}
$q->free_result();
return $data;
Run Code Online (Sandbox Code Playgroud)
id(PK),title,year,runtime和plotoutline是第一个表中的列,poster_url是来自第二个表的字段.第二个表还包含一个我不想检索的ID(PK)列,因为我已经有了.
我有这个大功能,可以获取大量不同的数据并将其插入多个表中.并非所有数据始终可用,因此并非所有SQL INSERT查询都成功.我需要检查哪个SQL INSERT查询是完全成功的,哪个不是对这些数据执行某些操作(比如插入日志表或类似内容).
只是为了举例说明我认为可以做到的事情:
$sql = 'INSERT INTO data_table (ID, column1, column2) VALUES(?, ?, ?)';
if ($stmt->prepare($sql)) {
$stmt->bind_param('iss', $varID, $var1, $var2);
if ($stmt->execute()) {
$success == TRUE; //or something like that
}
}
Run Code Online (Sandbox Code Playgroud)
我不完全确定这是最好的方法,如果它总是真的显示数据是否插入表中......任何建议?
有些日子我现在一直在尝试制作一个简单的mod_rewrite规则来创建友好的URL,我的web主机已经启用了mod_rewrite,但我无法让它工作.
我发布的所有下一个问题:
没有一个答案有效,所以我现在考虑使用简单的PHP路由,我想知道两者之间是否有很大的性能或SEO差异.如果有,也许你知道如何修复我的问题中发布的mod_rewrite问题.
谢谢.
只是举个例子:
我有一个管理用户投票的PHP脚本.
当用户投票时,脚本会进行查询以检查某人是否已经投票选择了相同的ID /产品.如果没有人投票,则它进行另一个查询并将ID插入一般ID投票表,另一个将数据插入每用户ID投票表.而这种行为在其他类型的脚本中重复出现.
问题是,如果两个不同的用户同时投票,那么代码的两个实例可能会尝试插入一个新的ID(或某些类似的查询),这会产生错误?
如果是,我如何防止这种情况发生?
谢谢?
重要提示:我正在使用MyISAM!我的网站托管不允许InnoDB.
我需要每周将一个大型(3GB +/40+表)本地MySQL数据库同步到服务器数据库.这两个数据库完全相同.本地数据库的不断更新,每一个星期左右的服务器DB需要与本地数据进行更新.您可以将其称为"镜像数据库"或"主数据库",但我不确定这是否正确.
现在,DB只存在于本地.所以:
1)首先,我需要将DB从本地复制到服务器.使用PHPMyAdmin导出/导入是不可能的,因为数据库大小和PHPMyAdmin限制.将数据库导出到gzip压缩文件并通过FTP上传可能会因为与服务器问题的连接或服务器文件大小限制而在传输过程中中断.单独导出每个表将是一个痛苦和每个表的大小也将是非常大的.那么,有什么更好的解决方案呢?
2)在当地DB我们完全上传至服务器,我需要每周更新服务器数据库.做得更好的方法是什么?
我从来没有使用过这种场景,我不知道实现这一点的不同方法,而且我对SQL并不是很强大,所以请尽可能好地解释自己.
非常感谢你.