gpt4 book ai didi

.htaccess - 如何在 .htaccess 中用斜线替换破折号

转载 作者:行者123 更新时间:2023-12-02 22:18:04 25 4
gpt4 key购买 nike

我想替换 PHP 文件名中的所有破折号,但我不知道该怎么做。

基本上我有这样的东西:

http://localhost/category-activity.php

我想以这样的方式结束:

http://localhost/category/activity

我还需要脚本扫描所有破折号,这意味着如果我有类似的内容:

http://localhost/category-activity-subactivity.php

最终结果是这样的:

http://localhost/category/activity/subactivity

我已经使用以下代码来删除扩展

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

最佳答案

试试这个:

# not an existing directory and is a php file
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
# make sure there are no slashes and doesn't already end with .php
RewriteCond %{REQUEST_URI} !^/.+/.+
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^(.*)$ $1.php [L]

# not an existing directory or file (this needs to take place so existing paths won't get / replaced with -
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ /$1-$2 [L]

Mod-rewrite 将继续重新应用规则,直到 URI 不再被重写,因此像 /category/activity/subactivity 这样的 uri 将继续被重写,直到它不受影响地通过所有规则。

关于.htaccess - 如何在 .htaccess 中用斜线替换破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com