小编Sch*_*man的帖子

在htaccess中,我想用连字符替换下划线,然后将用户重定向到新的url

我想将包含下划线的任何请求重定向到相同的URL,但使用连字符替换url.我见过很多论坛建议我做这样的事情:

(重复这个rewriteRule的增量版本,最多可达gazillion)

rewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ http://example.com/$1-$2-$3-$4 [R=301,L]
rewriteRule ^([^_]*)_([^_]*)_(.*)$ http://example.com/$1-$2-$3 [R=301,L]
rewriteRule ^([^_]*)_(.*)$ http://example.com/$1-$2 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我目前在php中的解决方案是(工作正常):

if(preg_match('/[_]+/', $_SERVER['REQUEST_URI'])){
    $redirectUrl = preg_replace('/[_]+/','-', $_SERVER['REQUEST_URI']);
    header('Location: '. $redirectUrl , TRUE, 301);
    return;
}
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿不使用php而是将它保存在我的htaccess文件中,而不必反复重复第一次rewriteRule,以便预测每个url可能有多少下划线.思考?有没有这样的方法来重复增加的rewriteRule?

-----编辑-----

我当前的htaccess文件只是标准的WordPress文件,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

php .htaccess mod-rewrite redirect

8
推荐指数
1
解决办法
3226
查看次数

MySQL根据同一列中的值更新单个列上的多个行

我有一个如下所示的表:

ID     Key     Value     Order
1      gender  m         0
2      gender  f         0

34     age     10        0
35     age     80        0
Run Code Online (Sandbox Code Playgroud)

要更新这些行,我必须使用以下内容:

UPDATE `DemoGroup` SET `value` = 'male' WHERE `value` = 'm'
UPDATE `DemoGroup` SET `value` = 'female' WHERE `value` = 'f'
UPDATE `DemoGroup` SET `value` = '10-19' WHERE `value` = '10'
UPDATE `DemoGroup` SET `value` = '80-89' WHERE `value` = '80'
Run Code Online (Sandbox Code Playgroud)

有没有办法将此合并到一个更新语句中,而不使用ID(不保证是相同的),例如(即使这不起作用)...

UPDATE `DemoGroup` 
SET `value`= CASE `value`
    WHEN 'm' THEN 'male',
    WHEN 'f' THEN 'female' END 
WHERE `value` …
Run Code Online (Sandbox Code Playgroud)

mysql entity-attribute-value

7
推荐指数
1
解决办法
8044
查看次数

是否可以从HTTP URL获取数据到Logstash?

正如标题所说,我需要将数据(CSV或JSON)直接提供给logstash.我想要的是设置一个过滤器,比如CSV,它直接从一些http://example.com/csv.php读取内容到Logstash而不涉及任何middleman脚本.

logstash

7
推荐指数
1
解决办法
6272
查看次数

MySQL Alter表,添加具有唯一随机值的列

我有一个表,我添加了一个名为phone- 该表的id也设置为auto_increments的主键.如何在电话列中插入一个不会重复的随机值.以下UPDATE语句确实插入了随机值,但并非所有值都是唯一的.另外,我没有出售我也phone正确地投射了字段,但在尝试将其设置为带有ALTER TABLE命令的int(11)时遇到了问题(主要是,它正确运行,但在添加新行时)电话号码,插入的值被翻译成不同的号码).

UPDATE Ballot SET phone = FLOOR(50000000 * RAND()) + 1;

表规格

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| phone      | varchar(11)  | NO   |     | NULL    |                |
| age        | tinyint(3)   | NO   |     | NULL    |                |
| test       | tinyint(4)   | NO   |     | 0       |                |
| …

mysql alter

4
推荐指数
2
解决办法
6768
查看次数